Multiple Versions of PHP run on server
有这个需求是测试服务器要上一套老的ecshop;
于是版本不能太高;
方案:
通过nginx把请求传递给不同版本的cgi处理;然而遇到了一些麻烦;编译安装的时候根本就走不通。(现在走通了,但是我觉得肯定还存在问题,就是说扩展是有作用范围的。通过yum install 的扩展支持,是不是全局的?全局的肯定影响性能)
step 1:下载源码包
sep 2:准备编译的参数
参考:
./configure \ --prefix=/usr/local/php.5.3 \ --with-pdo-pgsql \ --with-zlib-dir \ --with-freetype-dir \ --enable-mbstring \ --with-libxml-dir=/usr \ --enable-soap \ --enable-calendar \ --with-curl \ --with-mcrypt \ --with-zlib \ --with-gd \ --with-zlib \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-pcntl \ --enable-mbregex \ --with-mhash \ --enable-zip \ --with-pcre-regex \ --with-mysql=/usr/local/mysql\ --with-pdo-mysql \ --with-mysqli \ --with-png-dir=/usr \ --enable-gd-native-ttf \ --with-openssl \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --with-libdir=lib64 \ --enable-ftp \ --with-jpeg-dir=/usr/lib/ --enable-fpm
然后make && make install
step 3 复制ini文件到指定目录下;
Installing PHP SAPI module: cgi
Installing PHP CGI binary: /usr/local/php.5.3/bin/
Installing PHP CLI binary: /usr/local/php.5.3/bin/
Installing PHP CLI man page: /usr/local/php.5.3/man/man1/
Installing build environment: /usr/local/php.5.3/lib/php/build/
Installing header files: /usr/local/php.5.3/include/php/
Installing helper programs: /usr/local/php.5.3/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php.5.3/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php.5.3/lib/php/
[PEAR] Archive_Tar - installed: 1.3.12
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.3
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /usr/local/php.5.3/etc/pear.conf
You may want to add: /usr/local/php.5.3/lib/php to your php.ini include_path
/usr/local/php5.2.5/php-5.3.29/build/shtool install -c ext/phar/phar.phar /usr/local/php.5.3/bin
ln -s -f /usr/local/php.5.3/bin/phar.phar /usr/local/php.5.3/bin/phar
Installing PDO headers: /usr/local/php.5.3/include/php/ext/pdo/
step 4 启动一个cgi 进程
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9001 -C 5 -f /usr/local/php.5.3/bin/php-cgi(这里定了9001端口,当然你也可以通过修改config文件 指定端口)
step 5 前提你有spawn-fcgi 没有的话编译安装;
step 6 配置nginx 虚拟机 fastcgi_pass 127.0.0.1:9001;端口请注意