-->
[php] 2023-03-31 圈点260
摘要:php5.2.x在Linux(如centos)中的编译总是出现问题,尤其是在apache环境下编译php问题接连不断;因此转换思路,安装php5.2.17的php-fpm,用nginx调用。
php5.2.x在Linux(如centos)中的编译总是出现问题,尤其是在apache环境下编译php问题接连不断;因此转换思路,安装php5.2.17的php-fpm,用nginx调用。
php5.2.17在编译时出现的问题:
php-5.2.17 configure成功了,但是在make时报错:
node.c: In function dom_canonicalization
ext/dom/node.c:1953: error: dereferencing pointer to incomplete type
Cannot load libphp5.so into server: undefined symbol: xxxxxx
问题:开启apache2的时候,提示Cannot load libphp5.so into server: undefined symbol:xxx
apachectl restart,出现/usr/local/apache2/modules/libphp5.so: undefined symbol: unixd_config ,
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
此类问题非常之多...
因此转换思路,安装php5.2.17的php-fpm,用nginx调用。
nginx正常安装即可;
php5.2.17和php-fpm安装步骤:
0,安装各种依赖忽视
1,下载php和php-fpm后执行
tar zxvf php-5.2.17.tar.gz
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p11
2,编译:
d php-5.2.17
./configure --prefix=/usr/local/php --with-config-file-with=/usr/local/php/etc --enable-fastcgi --with-mysql --enable-mbstring --enable-fpm
此时会报错;
再下载另外一个match,操作
3,下载pathch文件并修改文件名为:php5_again.patch,放过php5.2.17的源码的根目录;
4,进入源码根目录,执行patch -p0 -b < ./php5_again.patch
5,再次./configure....
6,make
7make install
最好别make test,看着心里不稳