2017-07-18 49 views
0

我正在使用Zend 1.x.我面临以下PHP错误。PHP已弃用:iconv_set_encoding():StringLength.php上iconv.internal_encoding的使用

PHP已过时:iconv_set_encoding():iconv.internal_encoding的使用在/cds/PVTS/usoc/library/Zend/Validate/StringLength.php弃用线209

我已经发现了一些暂时解决问题。如下所示:

if (PHP_VERSION_ID < 50600) 
    iconv_set_encoding('internal_encoding', $orig); 
else 
    ini_set('default_charset', $encoding); 

但是我必须在每个包含这段代码的zend库文件中执行此更改。

有没有这个问题的任何永久性修复?

+0

您使用的是什么PHP版本? – MontrealDevOne

+0

PHP版本 - 5.6.8 –

回答

0

而不是在代码中使用ini_set,您可以更新服务器上运行更高版本PHP的服务器的php.ini。

或如果首选使用.htaccess文件 - 使用类似

AddDefaultCharset UTF-8 
php_value default_charset UTF-8 

你仍然得到过时的警告 - 但它们可以展示在现场的环境被抑制。最终寻找升级你使用的Zend版本可能是更好的(但毫无疑问可能不太实际)长期解决方案。

+0

如果我升级到Zend 2.x,这个问题会解决吗? –

+0

Zend 2是一个大型的重写,我还没有遇到过这个弃用的警告。如果这是一个现有的网站,您可能会发现您需要做大量的工作才能使网站在新版本的Zend下运行。 – steve