编译php-5.3.6的时候需要先打一个内存泄露的补丁,具体的操作如下
tar vzxf suhosin-0.9.32.1.tar.gz tar vjxf php-5.3.6.tar.bz2 cd php-5.3.6 patch -p1 < ../suhosin-patch-5.3.4-0.9.10.patch cp -R ../suhosin-0.9.32.1 ext/suhosin ./buildconf --force |
编译php之前需要先编译一下mcrypt库,具体的操作如下
tar vzxf libmcrypt-2.5.7.tar.gz cd libmcrypt-2.5.7 ./configure --disable-posix-threads --prefix='/usr/local/libmcrypt-2.5.7' make && make install echo '/usr/local/libmcrypt-2.5.7/lib'>>/etc/ld.so.conf.d/user-defined.conf ldconfig |
编译安装mcrypt库之后,就可以进行php-5.3.6的编译了,具体命令如下
cd php-5.3.6 export LDFLAGS='-L/usr/local/libmcrypt-2.5.7/lib' ./configure --prefix=/usr/local/php-5.3.6 --with-config-file-path=/usr/local/php-5.3.6/etc/ --with-mcrypt='/usr/local/libmcrypt-2.5.7' --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --disable-rpath --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-openssl --enable-sockets --enable-zip --disable-ipv6 --without-sqlite --without-pear --disable-pdo --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-libdir=lib64 --without-iconv --enable-soap --enable-suhosin make && make install unset LDFLAGS mkdir -p /data/logs/ cd /usr/local ln -s /usr/local/php-5.3.6 php |
php编译完成之后,还需要编译项目所需的三个插件,首先是memcached-1.0.2插件,具体命令如下
tar vzxf memcached-1.0.2.tgz cd memcached-1.0.2 /usr/local/php-5.3.6/bin/phpize ./configure --enable-memcached --with-php-config=/usr/local/php-5.3.6/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached-1.0.2/ make && make install |
接下来需要编译的是php的mongodb-mongo-php-driver插件,具体命令如下
tar vzxf mongodb-mongo-php-driver-1.1.0.tar.gz cd mongodb-mongo-php-driver-b177907/ /usr/local/php-5.3.6/bin/phpize ./configure --enable-mongo --with-php-config=/usr/local/php-5.3.6/bin/php-config make && make install |
最后还需要编译一下php的eaccelerator插件,具体命令如下
tar vjxf eaccelerator-0.9.6.1.tar.bz2 cd eaccelerator-0.9.6.1 /usr/local/php-5.3.6/bin/phpize ./configure --enable-eaccelerator --with-php-config=/usr/local/php-5.3.6/bin/php-config make && make install |
复制php-fpm.conf与php.ini到/usr/local/php-5.3.6/etc目录,并复制fpm到/etc/init.d目录下,并添加可执行权限。