ISPConfig 3(CentOS 6.3で複数のPHPバージョン(PHP-FPMおよびFastCGI)を使用する方法)
ISPConfig 3.0.5以降、1つのサーバーで複数のPHPバージョンを使用して、Webサイトに最適なPHPバージョンを選択することができます。この機能は、PHP-FPM(PHP 5.3以降)およびFastCGI(すべてのPHP 5.xバージョン)で機能します。このチュートリアルでは、CentOS6.3サーバー上でPHP5.3およびPHP5.4をPHP-FPMおよびFastCGIバージョンとしてビルドする方法を示します。これらのPHPバージョンは、ISPConfigでデフォルトのPHP(yumを介してインストール)と一緒に使用できます。
これがあなたのために働くという保証はありません!
1予備メモ
この記事の執筆時点で、最新のPHP5.3および5.4バージョンであるPHP5.3.22およびPHP5.4.12をインストールします。また、APC、memcache、memcached、ioncubeなどの追加のPHP拡張機能を構築する方法も示します。
PHP-FPMはApacheサーバーとnginxサーバーの両方で使用できますが、FastCGIはApacheサーバーでのみ使用できることに注意してください。
PHP-FPMとFastCGIは、PHP 5.3と5.4で相互に排他的です。そのため、PHPを構築する2つの方法を示します。1つはPHP-FPM用、もう1つはFastCGI用ですが、PHPを2回コンパイルして、両方を取得できます。 -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-カレンダー\
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with- pgsql \
-disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
- enable-sockets \
-enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
- with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir =/ usr \
--with-png-dir =/ usr \
--enable-gd-native- ttf \
--with-openssl \
--with-fpm-user =nginx \
--with-fpm-group =nginx \
--with-libdir =lib64 \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
- with-gettext \
--enable-fpm
最後のスイッチ(--enable-fpm)は、このPHPバージョンがPHP-FPMで動作することを確認します。このPHP-FPMバージョンをApacheで使用する場合は、-with-fpm-user=apacheおよび--with-fpm-group=apacheを使用してください。このPHP-FPMバージョンをnginxで使用する場合は、-with-fpm-user=nginxおよび--with-fpm-group=nginxを使用してください。
make
make install
php.iniとphp-fpm.confを正しい場所にコピーします:
cp /usr/local/src/php5-build/php-5.3.22/php.ini-production /opt/php-5.3.22/lib/php.ini
cp /opt/php-5.3.22/etc/php-fpm.conf.default /opt/php-5.3.22/etc/php-fpm.conf
/opt/php-5.3.22/etc/php-fpm.confを開き、次の設定を調整します-リッスンラインで未使用のポートを使用する必要があります(例:8999;ポート9000はデフォルトのCentOSPHP-FPMで使用されている可能性がありますすでに)、最後にinclude =/ opt / php-5.3.22 / etc / pool.d/*。confという行を追加する必要があります。このPHP-FPMバージョンをApacheで使用する場合は、user=apacheおよびgroup=apacheを使用してください。このPHP-FPMバージョンをnginxで使用する場合は、user=nginxおよびgroup=nginxを使用してください。
vi /opt/php-5.3.22/etc/php-fpm.conf
[...] pid = run/php-fpm.pid [...] user = nginx group = nginx [...] listen = 127.0.0.1:8999 [...] include=/opt/php-5.3.22/etc/pool.d/*.conf |
PHP-FPMのプールディレクトリを作成します:
mkdir /opt/php-5.3.22/etc/pool.d
次に、PHP-FPMの初期化スクリプトを作成します。
vi /etc/init.d/php-5.3.22-fpm
#! /bin/sh ### BEGIN INIT INFO # Provides: php-5.3.22-fpm # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts php-5.3.22-fpm # Description: starts the PHP FastCGI Process Manager daemon ### END INIT INFO php_fpm_BIN=/opt/php-5.3.22/sbin/php-fpm php_fpm_CONF=/opt/php-5.3.22/etc/php-fpm.conf php_fpm_PID=/opt/php-5.3.22/var/run/php-fpm.pid php_opts="--fpm-config $php_fpm_CONF" wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done } case "$1" in start) echo -n "Starting php-fpm " $php_fpm_BIN $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Gracefully shutting down php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed. Use force-exit" exit 1 else echo " done" echo " done" fi ;; force-quit) echo -n "Terminating php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload}" exit 1 ;; esac |
initスクリプトを実行可能にし、システム起動リンクを作成します。
chmod 755 /etc/init.d/php-5.3.22-fpm
chkconfig --levels 235 php-5.3.22-fpm on
最後にPHP-FPMを開始します:
/etc/init.d/php-5.3.22-fpm start
/opt/php-5.3.22/etc/pool.dにプールがない限り、無視できる次の警告が表示されます。
[[email protected] php-5.3.22]#/etc/init.d/php-5.3.22-fpm start
php-fpmを開始しています[05-Mar-201317:34:54]警告: 511行目の/opt/php-5.3.22/etc/php-fpm.confのインクルードパターン'/opt/php-5.3.22/etc/pool.d/*.conf'に一致するものはありません。
完了
[[email protected]]#
以上です。必要に応じて、APC、memcache、memcached、ioncubeなどの追加モジュールをインストールできます。
APC、memcache、およびmemcachedモジュールは、PEARを介してインストールできます。これらは、最初にインストールして初期化する必要があります。
yum install php-pear
cd /opt/php-5.3.22/etc
pecl -C ./pear.conf update-channels
これで、APCを次のようにインストールできます。
pecl -C ./pear.conf install apc
すべてのデフォルト値を受け入れます。その後、/ opt / php-5.3.22 / lib / php.ini ...
を開きます。vi /opt/php-5.3.22/lib/php.ini
...そしてファイルの最後にextension=apc.soという行を追加します(追加のAPC設定を構成することもできます):
[...] extension=apc.so apc.enabled=1 apc.shm_size=128M apc.ttl=0 apc.user_ttl=600 apc.gc_ttl=600 apc.enable_cli=1 apc.mmap_file_mask=/tmp/apc.XXXXXX ;apc.mmap_file_mask=/dev/zero ;apc.shm_segments = 5 |
memcache拡張機能は次のようにインストールできます:
pecl -C ./pear.conf install memcache
/opt/php-5.3.22/lib/php.iniを開きます...
vi /opt/php-5.3.22/lib/php.ini
...そしてファイルの最後にextension=memcache.soという行を追加します:
[...] extension=memcache.so |
memcached拡張機能は次のようにインストールできます:
yum install libmemcached-devel
pecl -C ./pear.conf install memcached
/opt/php-5.3.22/lib/php.iniを開きます...
vi /opt/php-5.3.22/lib/php.ini
...そしてファイルの最後にextension=memcached.soという行を追加します:
[...] extension=memcached.so |
ionCubeローダーは次のようにインストールできます:
cd /tmp
次に、アーキテクチャに適したionCube Loaderパッケージ(x86_64またはx86)をダウンロードして解凍します。
x86_64の場合:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfvz ioncube_loaders_lin_x86-64.tar.gz
x86の場合:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xfvz ioncube_loaders_lin_x86.tar.gz
次のように進めます:
cp ioncube / ioncube_loader_lin_5.3.so /opt/php-5.3.22/lib/php/extensions/no-debug-non-zts-20090626/ioncube.so
vi /opt/php-5.3.22/ lib / php.ini
ファイルの先頭([PHP]行の前)にzend_extension=/opt/php-5.3.22/lib/php/extensions/no-debug-non-zts-20090626/ioncube.soという行を追加します。
zend_extension = /opt/php-5.3.22/lib/php/extensions/no-debug-non-zts-20090626/ioncube.so [PHP] [...] |
後でPHP-FPMをリロードします:
/etc/init.d/php-5.3.22-fpm reload
ISPConfig 3.0.5では、[システム]>[追加のPHPバージョン]で新しいPHPバージョンを構成できます。 [名前]タブで、PHPバージョンの名前を入力するだけです(例:PHP 5.3.22)-このPHPバージョンは、ISPConfigのWebサイト設定でこの名前の下に一覧表示されます:
[PHP-FPM設定]タブに移動し([FastCGI設定]タブは空のままにすることができます)、次のようにフィールドに入力します。
ISPConfig 3(CentOS 6.3)で複数のPHPバージョン(PHP-FPMおよびFastCGI)を使用する方法-2ページ
3 PHP 5.3.22(FastCGI)の構築
PHP 5.3.22をダウンロードして解凍します:
mkdir /opt/phpfcgi-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 / phpfcgi-5.3.22 \
--with-pdo-pgsql \
--with-zlib-dir \
- -with-freetype-dir \
--enable-mbstring \
--with-libxml-dir =/ usr \
--enable-soap \
--enable-カレンダー\
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with- pgsql \
-disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
- enable-sockets \
-enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
- with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir =/ usr \
--with-png-dir =/ usr \
--enable-gd-native- ttf \
--with-openssl \
--with-fpm-user =apache \
--with-fpm-group =apache \
--with-libdir =lib64 \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
- with-gettext \
--enable-cgi
最後のスイッチ(--enable-cgi)は、このPHPバージョンがFastCGIで動作することを確認します。
make
make install
php.iniを正しい場所にコピーします:
cp /usr/local/src/php5-build/php-5.3.22/php.ini-production /opt/phpfcgi-5.3.22/lib/php.ini
以上です。必要に応じて、APC、memcache、memcached、ioncubeなどの追加モジュールをインストールできます。
APC、memcache、およびmemcachedモジュールは、PEARを介してインストールできます。これらは、最初にインストールして初期化する必要があります。
yum install php-pear
cd /opt/phpfcgi-5.3.22/etc
pecl -C ./pear.conf update-channels
これで、APCを次のようにインストールできます。
pecl -C ./pear.conf install apc
すべてのデフォルト値を受け入れます。その後、/ opt / phpfcgi-5.3.22 / lib / php.ini ...
を開きます。vi /opt/phpfcgi-5.3.22/lib/php.ini
...そしてファイルの最後にextension=apc.soという行を追加します(追加のAPC設定を構成することもできます):
[...] extension=apc.so apc.enabled=1 apc.shm_size=128M apc.ttl=0 apc.user_ttl=600 apc.gc_ttl=600 apc.enable_cli=1 apc.mmap_file_mask=/tmp/apc.XXXXXX ;apc.mmap_file_mask=/dev/zero ;apc.shm_segments = 5 |
memcache拡張機能は次のようにインストールできます:
pecl -C ./pear.conf install memcache
/opt/phpfcgi-5.3.22/lib/php.iniを開きます...
vi /opt/phpfcgi-5.3.22/lib/php.ini
...そしてファイルの最後にextension=memcache.soという行を追加します:
[...] extension=memcache.so |
memcached拡張機能は次のようにインストールできます:
yum install libmemcached-devel
pecl -C ./pear.conf install memcached
/opt/phpfcgi-5.3.22/lib/php.iniを開きます...
vi /opt/phpfcgi-5.3.22/lib/php.ini
...そしてファイルの最後にextension=memcached.soという行を追加します:
[...] extension=memcached.so |
ionCubeローダーは次のようにインストールできます:
cd /tmp
次に、アーキテクチャに適したionCube Loaderパッケージ(x86_64またはx86)をダウンロードして解凍します。
x86_64の場合:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfvz ioncube_loaders_lin_x86-64.tar.gz
x86の場合:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xfvz ioncube_loaders_lin_x86.tar.gz
次のように進めます:
cp ioncube / ioncube_loader_lin_5.3.so /opt/phpfcgi-5.3.22/lib/php/extensions/no-debug-non-zts-20090626/ioncube.so
vi /opt/phpfcgi-5.3.22/ lib / php.ini
zend_extension =/opt/phpfcgi-5.3.22/lib/php/extensions/no-debug-non-zts-20090626/ioncube.soという行をファイルの先頭([PHP]行の前)に追加します。
zend_extension = /opt/phpfcgi-5.3.22/lib/php/extensions/no-debug-non-zts-20090626/ioncube.so [PHP] [...] |
ISPConfig 3.0.5では、[システム]>[追加のPHPバージョン]で新しいPHPバージョンを構成できます。 [名前]タブで、PHPバージョンの名前を入力するだけです(例:PHP 5.3.22)-このPHPバージョンは、ISPConfigのWebサイト設定でこの名前の下に一覧表示されます:
FastCGI設定タブに移動し(PHP-FPM設定タブは空のままにすることができます)、次のようにフィールドに入力します。
ISPConfig 3(CentOS 6.3)で複数のPHPバージョン(PHP-FPMおよびFastCGI)を使用する方法-3ページ
4 PHP 5.4.12(PHP-FPM)の構築
PHP 5.4.12をダウンロードして解凍します:
mkdir /opt/php-5.4.12
mkdir / usr / local / src / php5-build
cd / usr / local / src / php5-build
wget http://de。 php.net/get/php-5.4.12.tar.bz2/from/this/mirror -O php-5.4.12.tar.bz2
tar jxf php-5.4.12.tar.bz2
cd php-5.4.12/
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.4.12を次のように構成およびビルドします(./configureコマンドは必要に応じて調整できます。
を参照してください。./configure --help
利用可能なすべてのオプションを表示します。別の./configureコマンドを使用すると、追加のライブラリが必要になる可能性があります。そうしないと、ビルドプロセスが失敗します):
./configure \
--prefix =/ opt / php-5.4.12 \
--with-pdo-pgsql \
--with-zlib-dir \
- -with-freetype-dir \
--enable-mbstring \
--with-libxml-dir =/ usr \
--enable-soap \
--enable-カレンダー\
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with- pgsql \
-disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
- enable-sockets \
-enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
- with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir =/ usr \
--with-png-dir =/ usr \
--enable-gd-native- ttf \
--with-openssl \
--with-fpm-user =nginx \
--with-fpm-group =nginx \
--with-libdir =lib64 \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
- with-gettext \
--enable-fpm
最後のスイッチ(--enable-fpm)は、このPHPバージョンがPHP-FPMで動作することを確認します。このPHP-FPMバージョンをApacheで使用する場合は、-with-fpm-user=apacheおよび--with-fpm-group=apacheを使用してください。このPHP-FPMバージョンをnginxで使用する場合は、-with-fpm-user=nginxおよび--with-fpm-group=nginxを使用してください。
make
make install
php.iniとphp-fpm.confを正しい場所にコピーします:
cp /usr/local/src/php5-build/php-5.4.12/php.ini-production /opt/php-5.4.12/lib/php.ini
cp /opt/php-5.4.12/etc/php-fpm.conf.default /opt/php-5.4.12/etc/php-fpm.conf
/opt/php-5.4.12/etc/php-fpm.confを開き、次の設定を調整します-リッスンラインでは、未使用のポートを使用する必要があります(例:8998;ポート9000はデフォルトのCentOSPHP-FPMで使用されている可能性がありますすでに)、最後にinclude =/ opt / php-5.4.12 / etc / pool.d/*。confという行を追加する必要があります。このPHP-FPMバージョンをApacheで使用する場合は、user=apacheおよびgroup=apacheを使用してください。このPHP-FPMバージョンをnginxで使用する場合は、user=nginxおよびgroup=nginxを使用してください。
vi /opt/php-5.4.12/etc/php-fpm.conf
[...] pid = run/php-fpm.pid [...] user = nginx group = nginx [...] listen = 127.0.0.1:8998 [...] include=/opt/php-5.4.12/etc/pool.d/*.conf |
PHP-FPMのプールディレクトリを作成します:
mkdir /opt/php-5.4.12/etc/pool.d
次に、PHP-FPMの初期化スクリプトを作成します。
vi /etc/init.d/php-5.4.12-fpm
#! /bin/sh ### BEGIN INIT INFO # Provides: php-5.4.12-fpm # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts php-5.4.12-fpm # Description: starts the PHP FastCGI Process Manager daemon ### END INIT INFO php_fpm_BIN=/opt/php-5.4.12/sbin/php-fpm php_fpm_CONF=/opt/php-5.4.12/etc/php-fpm.conf php_fpm_PID=/opt/php-5.4.12/var/run/php-fpm.pid php_opts="--fpm-config $php_fpm_CONF" wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done } case "$1" in start) echo -n "Starting php-fpm " $php_fpm_BIN $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Gracefully shutting down php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed. Use force-exit" exit 1 else echo " done" echo " done" fi ;; force-quit) echo -n "Terminating php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload}" exit 1 ;; esac |
initスクリプトを実行可能にし、システム起動リンクを作成します。
chmod 755 /etc/init.d/php-5.4.12-fpm
chkconfig --levels 235 php-5.4.12-fpm on
最後にPHP-FPMを開始します:
/etc/init.d/php-5.4.12-fpm start
/opt/php-5.4.12/etc/pool.dにプールがない限り、無視できる次の警告が表示されます。
[[email protected] php-5.4.12]#/etc/init.d/php-5.4.12-fpm start
php-fpmを開始しています[05-Mar-201319:37:55]警告: 511行目の/opt/php-5.4.12/etc/php-fpm.confのインクルードパターン'/opt/php-5.4.12/etc/pool.d/*.conf'に一致するものはありません。
完了
[[email protected]]#
以上です。必要に応じて、APC、memcache、memcached、ioncubeなどの追加モジュールをインストールできます。
APC、memcache、およびmemcachedモジュールは、PEARを介してインストールできます。これらは、最初にインストールして初期化する必要があります。
yum install php-pear
cd /opt/php-5.4.12/etc
pecl -C ./pear.conf update-channels
これで、APCを次のようにインストールできます。
pecl -C ./pear.conf install apc
すべてのデフォルト値を受け入れます。その後、/ opt / php-5.4.12 / lib / php.ini ...
を開きます。vi /opt/php-5.4.12/lib/php.ini
...そしてファイルの最後にextension=apc.soという行を追加します(追加のAPC設定を構成することもできます):
[...] extension=apc.so apc.enabled=1 apc.shm_size=128M apc.ttl=0 apc.user_ttl=600 apc.gc_ttl=600 apc.enable_cli=1 apc.mmap_file_mask=/tmp/apc.XXXXXX ;apc.mmap_file_mask=/dev/zero ;apc.shm_segments = 5 |
memcache拡張機能は次のようにインストールできます:
pecl -C ./pear.conf install memcache
/opt/php-5.4.12/lib/php.iniを開きます...
vi /opt/php-5.4.12/lib/php.ini
...そしてファイルの最後にextension=memcache.soという行を追加します:
[...] extension=memcache.so |
memcached拡張機能は次のようにインストールできます:
yum install libmemcached-devel
pecl -C ./pear.conf install memcached
/opt/php-5.4.12/lib/php.iniを開きます...
vi /opt/php-5.4.12/lib/php.ini
...そしてファイルの最後にextension=memcached.soという行を追加します:
[...] extension=memcached.so |
ionCubeローダーは次のようにインストールできます:
cd /tmp
次に、アーキテクチャに適したionCube Loaderパッケージ(x86_64またはx86)をダウンロードして解凍します。
x86_64の場合:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfvz ioncube_loaders_lin_x86-64.tar.gz
x86の場合:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xfvz ioncube_loaders_lin_x86.tar.gz
次のように進めます:
cp ioncube / ioncube_loader_lin_5.4.so /opt/php-5.4.12/lib/php/extensions/no-debug-non-zts-20100525/ioncube.so
vi /opt/php-5.4.12/ lib / php.ini
zend_extension =/opt/php-5.4.12/lib/php/extensions/no-debug-non-zts-20100525/ioncube.soという行をファイルの先頭([PHP]行の前)に追加します。
zend_extension = /opt/php-5.4.12/lib/php/extensions/no-debug-non-zts-20100525/ioncube.so [PHP] [...] |
後でPHP-FPMをリロードします:
/etc/init.d/php-5.4.12-fpm reload
ISPConfig 3.0.5では、[システム]>[追加のPHPバージョン]で新しいPHPバージョンを構成できます。 [名前]タブで、PHPバージョンの名前を入力するだけです(例:PHP 5.4.12)-このPHPバージョンは、ISPConfigのWebサイト設定でこの名前の下に一覧表示されます:
[PHP-FPM設定]タブに移動し([FastCGI設定]タブは空のままにすることができます)、次のようにフィールドに入力します。
ISPConfig 3(CentOS 6.3)で複数のPHPバージョン(PHP-FPMおよびFastCGI)を使用する方法-4ページ
5 PHP 5.4.12(FastCGI)の構築
PHP 5.4.12をダウンロードして解凍します:
mkdir /opt/phpfcgi-5.4.12
mkdir / usr / local / src / php5-build
cd / usr / local / src / php5-build
wget http://de。 php.net/get/php-5.4.12.tar.bz2/from/this/mirror -O php-5.4.12.tar.bz2
tar jxf php-5.4.12.tar.bz2
cd php-5.4.12/
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.4.12を次のように構成およびビルドします(./configureコマンドは必要に応じて調整できます。
を参照してください。./configure --help
利用可能なすべてのオプションを表示します。別の./configureコマンドを使用すると、追加のライブラリが必要になる可能性があります。そうしないと、ビルドプロセスが失敗します):
./configure \
--prefix =/ opt / phpfcgi-5.4.12 \
--with-pdo-pgsql \
--with-zlib-dir \
- -with-freetype-dir \
--enable-mbstring \
--with-libxml-dir =/ usr \
--enable-soap \
--enable-カレンダー\
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with- pgsql \
-disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
- enable-sockets \
-enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
- with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir =/ usr \
--with-png-dir =/ usr \
--enable-gd-native- ttf \
--with-openssl \
--with-fpm-user =apache \
--with-fpm-group =apache \
--with-libdir =lib64 \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
- with-gettext \
--enable-cgi
最後のスイッチ(--enable-cgi)は、このPHPバージョンがFastCGIで動作することを確認します。
make
make install
php.iniを正しい場所にコピーします:
cp /usr/local/src/php5-build/php-5.4.12/php.ini-production /opt/phpfcgi-5.4.12/lib/php.ini
以上です。必要に応じて、APC、memcache、memcached、ioncubeなどの追加モジュールをインストールできます。
APC、memcache、およびmemcachedモジュールは、PEARを介してインストールできます。これらは、最初にインストールして初期化する必要があります。
yum install php-pear
cd /opt/phpfcgi-5.4.12/etc
pecl -C ./pear.conf update-channels
これで、APCを次のようにインストールできます。
pecl -C ./pear.conf install apc
すべてのデフォルト値を受け入れます。 Afterwards, open /opt/phpfcgi-5.4.12/lib/php.ini...
vi /opt/phpfcgi-5.4.12/lib/php.ini
... and add the line extension=apc.so at the end of the file (you can also configure some additional APC settings):
[...] extension=apc.so apc.enabled=1 apc.shm_size=128M apc.ttl=0 apc.user_ttl=600 apc.gc_ttl=600 apc.enable_cli=1 apc.mmap_file_mask=/tmp/apc.XXXXXX ;apc.mmap_file_mask=/dev/zero ;apc.shm_segments = 5 |
The memcache extension can be installed as follows:
pecl -C ./pear.conf install memcache
Open /opt/phpfcgi-5.4.12/lib/php.ini...
vi /opt/phpfcgi-5.4.12/lib/php.ini
... and add the line extension=memcache.so at the end of the file:
[...] extension=memcache.so |
The memcached extension can be installed as follows:
yum install libmemcached-devel
pecl -C ./pear.conf install memcached
Open /opt/phpfcgi-5.4.12/lib/php.ini...
vi /opt/phpfcgi-5.4.12/lib/php.ini
... and add the line extension=memcached.so at the end of the file:
[...] extension=memcached.so |
The ionCube Loader can be installed as follows:
cd /tmp
Next download and unpack the correct ionCube Loader package for your architecture (x86_64 or x86).
For x86_64:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfvz ioncube_loaders_lin_x86-64.tar.gz
For x86:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xfvz ioncube_loaders_lin_x86.tar.gz
Proceed as follows:
cp ioncube/ioncube_loader_lin_5.4.so /opt/phpfcgi-5.4.12/lib/php/extensions/no-debug-non-zts-20100525/ioncube.so
vi /opt/phpfcgi-5.4.12/lib/php.ini
Add the line zend_extension =/opt/phpfcgi-5.4.12/lib/php/extensions/no-debug-non-zts-20100525/ioncube.so right at the beginning of the file (before the [PHP] line):
zend_extension = /opt/phpfcgi-5.4.12/lib/php/extensions/no-debug-non-zts-20100525/ioncube.so [PHP] [...] |
In ISPConfig 3.0.5, you can configure the new PHP version under System> Additional PHP Versions. On the Name tab, you just fill in a name for the PHP version (e.g. PHP 5.4.12) - this PHP version will be listed under this name in the website settings in ISPConfig:
Go to the FastCGI Settings tab (the PHP-FPM Settings tab can be left empty) and fill out the fields as follows:
6つのリンク
- PHP:http://www.php.net/
- ISPConfig:http://www.ispconfig.org/
- CentOS:http://www.centos.org/
About The Author
Falko Timme is the owner of Timme Hosting (ultra-fast nginx web hosting). He is the lead maintainer of HowtoForge (since 2005) and one of the core developers of ISPConfig (since 2000). He has also contributed to the O'Reilly book "Linux System Administration".