依赖
yum install wget make gcc gcc-c++ bison autoconf patch \
pcre-devel zlib-devel openssl-devel net-snmp-devel \
ncurses-devel libxml2-devel bzip2-devel gd-devel libcurl-devel \
mysql-devel memcached libtool-ltdl-devel bzip2
安装libmcrypt
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
安装php-5.2.17以及php-fpm补丁包
tar jxvf php-5.2.17.tar.bz2
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
编译安装PHP
对于64位系统的CentOS需要执行
ln -s /usr/lib64/libjpeg.so /usr/lib/
ln -s /usr/lib64/libpng.so /usr/lib/
ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so # 到/usr/lib64/mysql/下查下文件版本再做ln!
cd php-5.2.17
./configure --prefix=/usr/local/php --enable-fastcgi \
--enable-fpm --enable-gd-native-ttf --enable-gd-jis-conv --enable-soap \
--enable-zip --enable-pcntl --enable-sockets --enable-mbstring --enable-xml \
--with-bz2 --with-openssl --with-iconv --with-zlib --with-curl \
--with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mcrypt \
--with-mysql --with-mysqli
make
make install
cp php.ini-recommended /usr/local/php/lib/php.ini
编译时mysql及mysqli可能发生错误
# ./configure去掉--with-mysql --with-mysqli后先编译php,然后单独编译mysql和mysqli
cd php-5.2.17/ext/mysql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/bin/mysql/
make && make install
cd php-5.2.17/ext/mysql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/bin/mysql_config
make && make install
# 在/usr/local/php/lib/php.ini文件修改
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
配置php-fpm扩展
/usr/local/php/etc/php-fpm.conf
Unix user of processes
Unix group of processes
# 去掉里面的