今天收到一個特殊需求,需要建立一個和客戶一模一樣的開發環境,仔細查看了一下,使用的是 php 5.2.17
在目前的 CentOS 6.7,yum最低都是 5.3.3 版本了,使用 rpm 安裝 5.2.17 的話 atomic 已經不支援下載了,最好的方式還是採用 compiler 的方式來安裝
本篇是記錄 nginx + php5.2.17 + php-fpm5.2.17 的安裝方式
由於在嘗試測試需要的相關套件,索性寫成 script 來進行編譯,免得需要加載其他套件時的作業麻煩
以下會自動安裝相關需要的套件,以下在自行選用需要的 library
#!/bin/bash export ver="5.2.17"; yum install -y wget patch gcc libtool libmcrypt-devel libxml2-devel flex bison make pcre-devel zlib-devel openssl-devel gd-devel libtool-ltdl-devel mysql-devel cd /usr/local/src/ wget http://museum.php.net/php5/php-5.2.17.tar.gz wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz tar -xvf php-$ver.tar.gz gzip -cd php-$ver-fpm-0.5.14.diff.gz | patch -d php-$ver -p1 cd php-$ver ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --enable-cli \ --with-mcrypt \ --with-zlib \ --enable-mbstring \ --with-openssl \ --with-mysql \ --with-mysql-sock \ --with-gd \ --with-jpeg-dir=/usr/lib64 \ --enable-gd-native-ttf \ --without-sqlite \ --with-libdir=lib64 \ --with-xpm-dir=/usr/lib64 \ --enable-gd-jis-conv \ --with-freetype-dir=/usr/include/freetype2 \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-shared \ --with-bz2 \ --with-curl \ --with-gettext \ --with-mhash \ --with-mime-magic \ --with-mysqli \ --with-pdo-mysql \ --without-pdo-sqlite \ --enable-soap \ --enable-sockets \ --with-xmlrpc make all install strip /usr/local/php/bin/php-cgi
設定 php-fpm.conf,預設為 nobody,改用 nginx 權限啟動
$ vim /usr/local/php/etc/php-fpm.conf Unix user of processes <value name="user">nginx</value> Unix group of processes <value name="group">nginx</value>
如果你有 php.ini 可以用 -c 引用
$ ./php -c /etc/php.ini 查看是否引用 php.ini $ ./php --ini Configuration File (php.ini) Path: /usr/local/php/lib Loaded Configuration File: /etc/php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)