如何使用多个PHP版本(PHP-FPM和FastCGI)与ISPConfig 3(CentOS 6.3)
自ISPConfig 3.0.5以来,可以在一个服务器上使用多个PHP版本,并为网站选择最佳的PHP版本。 此功能适用于PHP-FPM(从PHP 5.3开始)和FastCGI(所有PHP 5.x版本)。 本教程将介绍如何在CentOS 6.3服务器上构建PHP 5.3和PHP 5.4作为PHP-FPM和FastCGI版本。 这些PHP版本可以与ISPConfig中的默认PHP(通过yum安装)一起使用。
我不会保证这将为您工作!
1初步说明
我将在撰写本文时安装PHP 5.3.22和PHP 5.4.12,最新的PHP 5.3和5.4版本。 我还将展示如何构建一些额外的PHP扩展,如APC,memcache,memcached和ioncube。
请注意,PHP-FPM可用于Apache和nginx服务器,而FastCGI仅适用于Apache服务器。
PHP-FPM和FastCGI在PHP 5.3和5.4中是互斥的,这就是为什么我展示了两种构建PHP的方式,一种用于PHP-FPM,一种用于FastCGI,但是您可以编译PHP两次以获得两者,一次可以使用--enable -fpm和一次--enable-cgi (确保使用不同的基本目录,例如PHP-FPM的/opt/php-5.3.22和FastCGI的/opt/phpfcgi-5.3.22 )。
2构建PHP 5.3.22(PHP-FPM)
下载并提取PHP 5.3.22:
mkdir /opt/php-5.3.22
mkdir /usr/local/src/php5-build
cd /usr/local/src/php5-build
wget http://de.php.net/get/php-5.3.22.tar.bz2/from/this/mirror -O php-5.3.22.tar.bz2
tar jxf php-5.3.22.tar.bz2
cd php-5.3.22/
安装构建PHP5的先决条件:
yum groupinstall 'Development Tools'
yum install libxml2-devel libXpm-devel gmp-devel libicu-devel t1lib-devel aspell-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libvpx-devel libpng-devel freetype-devel readline-devel libtidy-devel libxslt-devel libmcrypt-devel pcre-devel curl-devel mysql-devel ncurses-devel gettext-devel net-snmp-devel libevent-devel libtool-ltdl-devel libc-client-devel postgresql-devel
配置和构建PHP 5.3.22如下(您可以根据需要调整./configure命令,看看
./configure --help
查看所有可用选项; 如果使用不同的./configure命令,可能需要额外的库,否则构建过程将失败):
./configure \
--prefix=/opt/php-5.3.22 \
--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 \