/root/php-5.3.28/Zend/zend_language_parser.h:317: 错误:与‘zendparse’类型冲突
更新:HHH   时间:2023-1-7


/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


返回web开发教程...