今天安编绎安装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”参数的作用是启用线程安全。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。