PHP 5.2.6 安装及fpm补丁,实现php多版本共存

原文链接: https://my.oschina.net/liuhuan0927/blog/654708

  公司最近把一个项目交给外包做了,那叫一个坑啊!简直气得我吐血,文档里面只提到用php5,我就装了php5.6。什么都搞好之后告诉我说php版本要5.2.6。我只能呵呵了···5.2.6默认不支持php-fpm。所以还要打补丁各种问题,下面是安装记录,免得下次再重蹈覆辙···

依赖安装

 yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel mysql mysql-devel -y

下载安装包

cd /opt/
wget http://php-fpm.org/downloads/php-5.2.6-fpm-0.5.9.diff.gz
wget http://museum.php.net/php5/php-5.2.6.tar.gz

解压和打补丁

tar zxvf php-5.2.6.tar.gz
gzip -cd php-5.2.6-fpm-0.5.9.diff.gz | patch -d php-5.2.6 -p1

打完补丁后编译参数就支持

注:--enable-fastcgi \ 需要在--enable-fpm \的前面,否则,fpm不能编译上。

--enable-fpm

编译及安装

cd php-5.2.6
./configure \
--prefix=/data/php-5.2.6 \
--with-config-file-path=/data/php-5.2.6/etc \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-fastcgi \
--enable-fpm \
--with-mysql=/usr/bin/mysql \
--with-mysqli=/usr/bin/mysql_config \
--with-pdo-mysql=/usr/bin/mysql \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--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
make -j4 && make install

配置

cp php.ini-dist  /data/php-5.2.6/etc/php.ini
cd /data/php-5.2.6/
vim etc/php-fpm.conf
需要注意下面几处配置
127.0.0.1:9100
这个表示php的fastcgi进程监听的ip地址以及端口。因为本地已经有一个5.6版本了所以这里改成9100
nobody
nobody
表示php的fastcgi进程以什么用户以及用户组来运行,默认该行是注释掉的,需要打开
0
是否显示php错误信息
5
最大的子进程数目
运行php-fpm:
php-fpm用一个程序来控制fastcgi进程,这个文件在$PREFIX/sbin/php-fpm

   nginx 配置   

location ~ \.php$ {
            root           /data/www/yydb;
            fastcgi_pass   127.0.0.1:9100;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
            include        fastcgi_params;

        }

这里把fastcgi_pass 改到本地的9100端口

启动

/data/php-5.2.6/sbin/php-fpm start
echo "/data/php-5.2.6/sbin/php-fpm start" >> /etc/rc.local


转载于:https://my.oschina.net/liuhuan0927/blog/654708

你可能感兴趣的:(PHP 5.2.6 安装及fpm补丁,实现php多版本共存)