升级php 5.2.14 到5.4.11版本报错问题
更新:HHH   时间:2023-1-7


升级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 升级完成.

返回web开发教程...