php多版本共存:增加php5.2.17版本

续:
说明:由于php5.2版本默认不支持php-fpm,需要打补丁,以支持php-fpm

源码包和补丁包下载

下载源码包:
wget http://museum.php.net/php5/php-5.2.17.tar.gz

下载php-fpm补丁包:
wgethttp://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz

解压源码包并给源码包打补丁

解压源码包
tar xvf php-5.2.17.tar.gz
给源码包打补丁
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
新建两个目录
mkdir /usr/local/php52
mkdir /etc/php52
cd php-5.2.17
./configure \
--prefix=/usr/local/php52 \
--with-config-file-path=/etc/php52 \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--enable-fastcgi \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=/usr/local/mysql/ \
--with-pdo-mysql=/usr/local/mysql/ \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline \
--without-sqlite3 \
--without-pdo-sqlite \
--without-pear \
--with-mcrypt

make && make install

配置php-fpm

进入源码包,需要拷贝两个文件
cd /usr/src/php-5.2.17
拷贝php的配置文件:
cp php.ini-recommended /etc/php52/php.ini
拷贝启动脚本:
cp sapi/cgi/fpm/php-fpm /etc/init.d/php52-fpm

还需要修改php-fpm.conf配置文件,一共要修改2处:一:将默认的9000端口改为9052,二:将运行用户和组修改为www (www在前面安装nginx时已经创建)


vim /usr/local/php52/etc/php-fpm.conf
第一处:
将<value name="listen_address">127.0.0.1:9000</value>
改为:
<value name="listen_address">127.0.0.1:9052</value>
第二处:
将:
Unix user of processes
<!-- <value name="user">nobody</value> -->
Unix group of processes
<!-- <value name="group">nobody</value> -->
改为:
Unix user of processes
<value name="user">www</value>
Unix group of processes
<value name="group">www</value>

修改完毕保存退出
启动php52-fpm,有报错,如下:
error while loading shared libraries: libmysqlclient.so.18
解决方法:
updatedb 更新库,然后locate libmysqlclient.so.18 找到这个文件所在位置
这里写图片描述
做个软连接
这里写图片描述

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

再次重启php52-fpm,OK
接着配置Apache,将端口修改为(php5.2)php52-fpm启动的端口9052

vim /etc/httpd/httpd.conf
<FilesMatch \.php$>
         SetHandler "proxy:fcgi://127.0.0.1:9052"
</FilesMatch>

重启apache,打开phpinfo成功关联为了php5.2版本
这里写图片描述

nginx配置也是一样类似的方法:将端口修改为(php5.2)php52-fpm的监听的端口9052

vim /etc/nginx/nginx.conf
fastcgi_pass   127.0.0.1:9052;

修改完毕保存退出,重启nginx

配置Zend Optimizer
源码包下载

wget http://down1.chinaunix.net/distfiles/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
tar xvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
cd ZendOptimizer-3.3.9-linux-glibc23-x86_64/data
拷贝PHP相应版本的.so文件
cp 5_2_x_comp/ZendOptimizer.so /usr/local/php52/
vim /etc/php52/php.ini  在最后一行添加以下内容:
[Zend]
zend_optimizer.optimization_level=1023
zend_optimizer.encoder_loader=1
zend_extension=/usr/local/php52/ZendOptimizer.so

保存退出,重启php52-fpm,打开phpinfo
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值