2017-07-18 33 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