解決編譯安裝php5328報“zendparse”錯誤故障

今天安編繹安裝php5328在make時報以下錯誤:

php-5.3.28/Zend/zend_language_parser.h:317: error: conflicting types for zendparse
php-5.3.28/Zend/zend_globals_macros.h:35: note: previous declaration of zendparse was here
make: *** [ext/standard/basic_functions.lo] Error 1

 

網友的解決方法是:把zend_language_parser.h文件中317行的內容int zendparse(void *)與zend_globals_macros.h 35行 int zendparse(void *compiler_globals);弄成一致。再進行make可以成功。

這樣make成功的做法會有一個問題產生:在需要安裝php擴展ZendGuardLoader後,再啓動php-fpm時就會報以下錯誤:

Failed loading /usr/local/php/lib/php/extensions/php-5.3.x/ZendGuardLoader.so:  /usr/local/php/lib/php/extensions/php-5.3.x/ZendGuardLoader.so: undefined symbol: compiler_globals

導致ZendGuardLoader擴展包加載不成功。

最終解決方法:

在使用./confingure編繹時,不要加載“--enable-maintainer-zts”參數,“--enable-maintainer-zts”參數的作用是啓用線程安全。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章