nagiosQL訪問時報錯PHP message: PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead


nagiosQL安裝環境:

CentOS release 6.4 (Final)

php-5.5.4

nagiosql_320

nginx version: nginx/1.2.3

 

安裝一切正常,當訪問nagiosQL界面時會提示:

PHP Deprecated:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

 

查看nginx日志提示:

PHP message: PHP Deprecated:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

 

解決方法:

由於方法preg_replace()為PHP 5.5.x 中廢棄的特性,官方建議需要在代碼中將preg_replace()替換為函數preg_replace_callback,可以問題解決。 (具體請見官方介紹:

http://www.php.net/manual/zh/migration55.deprecated.php

此問題涉及到nagiosQL文件:/usr/local/nagios/nagiosql/libraries/pear/HTML/Template/IT.php

由於本人並不太熟悉PHP語法,故暫無法通過替換函數解決。

故無奈之下將PHP版本恢復至php-5.4.21,最終問題解決。

此問題是由於nagiosql_320,當前未對php5.5進行良好的支持導致的,可能會在以后的版本發布中解決此問題。如果有哪位同仁已經解決此問題,希望能將修改后IT.php的代碼發給我,我們共同進步。

 

值得注意的是,我們在安裝對PHP支持的頁面時,一定要查看好當前頁面對PHP版本的支持,否則極易出現各種問題。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM