/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参数:
1
2
3
4
5
316 #if defined STDC || defined __cplusplus
317 int zendparse (void);
318 #else
319 int zendparse ();
320 #endif
再看看zend_globals_macros.h:35是什么参数。
1
2
3
4
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行。
1
2
3
4
5
316 #if defined STDC || defined __cplusplus
317 int zendparse (void *compiler_globals);
318 #else
319 int zendparse ();
320 #endif
再进行make,OK。