/root/php-5.3.28/Zend/zend_language_parser.h:317: 错误:与‘zendparse’类型冲突
本人今天上班看新闻,说php发布紧急更新,修改opensslbug。(见上面文章)
公司用的版本是php5.3版本,于是马上在测试服务器更新测试。
下载最新php5.3.28源码,编译安装。
./configure过程很顺利,在make环节发生错误。报错:/root/php-5.3.28/Zend/zend_language_parser.h:317: 错误:与‘zendparse’类型冲突。
下一句给了提示,在zend_globals_macros.h:35中‘zendparse’类型如此:
打开./Zend/zend_language_parser.h文件,看看zendparese参数:
316 #if defined __STDC__ || defined __cplusplus
317 int zendparse (void);
318 #else
319 int zendparse ();
320 #endif
再看看zend_globals_macros.h:35是什么参数。
33 #ifdef ZTS
34 # define CG(v) TSRMG(compiler_globals_id, zend_compiler_globals *, v)
35 int zendparse(void *compiler_globals);
36 #else
好吧,那我就把35行的参数,改到zend_language_parser.h 317行。
316 #if defined __STDC__ || defined __cplusplus
317 int zendparse (void *compiler_globals);
318 #else
319 int zendparse ();
320 #endif
再进行make,OK。
顺利完成了。
版本发布的太急了吧,有此错误。
PS:生产服务器一定三思,此参数的更改可能会影响到您的业务。
更多信息,请访问我的个人网站:libin580.cn