まずはダウンロード
cd /usr/local/src
wget https://www.php.net/distributions/php-5.6.40.tar.gz
wget wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8zf.tar.gz
tar -xvzf php-5.6.40.tar.gz
./configure --prefix=/opt/php-5.6.40f --enable-fpm --enable-mbstring --enable-mysqlnd --with-curl --with-gd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pcre-dir --with-pdo-mysql=mysqlnd --with-pear --with-regex=php --with-zlib
ここでエラー。エラーが出なかった場合、makeに進む
必要なライブラリをyumでインストール
yum install gcc libxm2-devel libpng-devel lib curl-devel
コンパイルが通ったら
make
make install
FPMの設定
FPMの設定デフォルトファイルをコピー
cp /opt/php-5.6.40f/etc/php-fpm.conf.default /opt/php-5.6.40f/etc/php-fpm.conf
vim /opt/php-5.6.40f/etc/php-fpm.conf
PHP-FPMの設定ファイルを編集
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
[www]
user = apache
group = apache
listen = var/run/php-fpm.sock
listen.owner = apache
listen.group = apache
listen.mode = 0660
ApacheモジュールとしてインストールしていないためApacheの起動ではPHPが動かないためphp-fpmの起動スクリプトをコピーして編集
cp /usr/local/src/php-5.6.40/sapi/fpm /php-fpm.service /etc/systemd/system/php-fpm-5.6.40.service
PIDFile=/opt/php-5.6.40f/var/run/php-fpm.pid
ExecStart=/opt/php-5.6.40f/sbin/php-fpm --nodaemonize --fpm-config /opt/php-5.6.40f/etc/php-fpm.conf
systemdを有効化
systemctl daemon-reload
systemctl enable php-fpm-5.6.40.service
#起動
systemctl start php-fpm-5.6.40.service
Apache (mod_fcgid)の設定
今回はApacheのmod_fcgidを利用するためApache CONFのPHP-FPMを使いたいDirectoryディレクティブに下記SetHandlerを記述
AddHandler fcgid-script .php
<FilesMatch \.php$>
SetHandler "proxy:unix:/opt/php-5.6.40f/var/run/php-fpm.sock|fcgi://localhost"
</FilesMatch>
複数バージョンのPHP-FPMがある場合 SetHandlerでバージョン分けが可能。
コメント