共计 1219 个字符,预计需要花费 4 分钟才能阅读完成。
今天安编绎安装 PHP 5.3.28 在 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”参数的作用是启用线程安全。
PHP 的详细介绍 :请点这里
PHP 的下载地址 :请点这里
推荐阅读:
生产环境实用之 LNMP 架构的编译安装 +SSL 加密实现 http://www.linuxidc.com/Linux/2013-05/85099.htm
LNMP 全功能编译安装 for CentOS 6.3 笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm
CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
《细说 PHP》高清扫描 PDF+ 光盘源码 + 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm