升级php 5.2.14 到5.4.11版本报错问题
报错内容如下:
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c: 在函数‘php_openssl_setup_crypto’中:
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:330: 警告:赋值丢弃了指针目标类型的限定
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:338: 警告:赋值丢弃了指针目标类型的限定
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:343: 警告:赋值丢弃了指针目标类型的限定
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:347: 警告:赋值丢弃了指针目标类型的限定
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:351: 警告:赋值丢弃了指针目标类型的限定
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:355: 警告:赋值丢弃了指针目标类型的限定
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:363: 警告:赋值丢弃了指针目标类型的限定
/data0/software/php-5.4.11/ext/openssl/xp_ssl.c:368: 警告:赋值丢弃了指针目标类型的限定
在包含自 /usr/local/webserver/mysql/include/mysql/my_global.h:85 的文件中,
从 /data0/software/php-5.4.11/ext/mysqli/php_mysqli_structs.h:63,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:34:
/usr/local/webserver/mysql/include/mysql/my_config.h:1202:1: 警告:“PACKAGE_NAME”重定义
在包含自 /data0/software/php-5.4.11/TSRM/tsrm_config.h:1 的文件中,
从 /data0/software/php-5.4.11/TSRM/tsrm_config_common.h:13,
从 /data0/software/php-5.4.11/TSRM/tsrm_virtual_cwd.h:27,
从 /data0/software/php-5.4.11/main/php.h:402,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:29:
/data0/software/php-5.4.11/include/../main/php_config.h:2110:1: 警告:这是先前定义的位置
在包含自 /usr/local/webserver/mysql/include/mysql/my_global.h:85 的文件中,
从 /data0/software/php-5.4.11/ext/mysqli/php_mysqli_structs.h:63,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:34:
/usr/local/webserver/mysql/include/mysql/my_config.h:1205:1: 警告:“PACKAGE_STRING”重定义
在包含自 /data0/software/php-5.4.11/TSRM/tsrm_config.h:1 的文件中,
从 /data0/software/php-5.4.11/TSRM/tsrm_config_common.h:13,
从 /data0/software/php-5.4.11/TSRM/tsrm_virtual_cwd.h:27,
从 /data0/software/php-5.4.11/main/php.h:402,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:29:
/data0/software/php-5.4.11/include/../main/php_config.h:2113:1: 警告:这是先前定义的位置
在包含自 /usr/local/webserver/mysql/include/mysql/my_global.h:85 的文件中,
从 /data0/software/php-5.4.11/ext/mysqli/php_mysqli_structs.h:63,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:34:
/usr/local/webserver/mysql/include/mysql/my_config.h:1208:1: 警告:“PACKAGE_TARNAME”重定义
在包含自 /data0/software/php-5.4.11/TSRM/tsrm_config.h:1 的文件中,
从 /data0/software/php-5.4.11/TSRM/tsrm_config_common.h:13,
从 /data0/software/php-5.4.11/TSRM/tsrm_virtual_cwd.h:27,
从 /data0/software/php-5.4.11/main/php.h:402,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:29:
/data0/software/php-5.4.11/include/../main/php_config.h:2116:1: 警告:这是先前定义的位置
在包含自 /usr/local/webserver/mysql/include/mysql/my_global.h:85 的文件中,
从 /data0/software/php-5.4.11/ext/mysqli/php_mysqli_structs.h:63,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:34:
/usr/local/webserver/mysql/include/mysql/my_config.h:1211:1: 警告:“PACKAGE_VERSION”重定义
在包含自 /data0/software/php-5.4.11/TSRM/tsrm_config.h:1 的文件中,
从 /data0/software/php-5.4.11/TSRM/tsrm_config_common.h:13,
从 /data0/software/php-5.4.11/TSRM/tsrm_virtual_cwd.h:27,
从 /data0/software/php-5.4.11/main/php.h:402,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:29:
/data0/software/php-5.4.11/include/../main/php_config.h:2122:1: 警告:这是先前定义的位置
在包含自 /data0/software/php-5.4.11/ext/mysqli/php_mysqli_structs.h:79 的文件中,
从 /data0/software/php-5.4.11/ext/mysqli/mysqli.c:34:
/usr/local/webserver/mysql/include/mysql/my_sys.h:1027:23: 错误:mysql/psi.h:没有那个文件或目录
make: *** [ext/mysqli/mysqli.lo] 错误 1
php5.4.11 ./configure没有任何问题,make时出现如下问题,具体原因不明,在网上找到如下方法解决,mark一下
make: *** [ext/mysqli/mysqli.lo] Error 1
解决方法如下:
# mkdir /xxx/mysql/include/mysql
# ln -s /xxx/mysql/include/* /xxx/mysql/include/mysql //xxx表示mysql安装目录
# make && make install
修改my_sys.h文件
vim /usr/local/mysql/include/mysql/my_sys.h
把
include <mysql/phi/psi.h> 改成 include <phi.h>
再执行命令
#make clean all
#make ZEND_EXTRA_LIBS='-liconv'
#make install
至此 php 升级完成.