CentOS6.xにyumでPHP5.6(nginx連携)をインストール

CentOS6.xにPHP5.6をインストールし、nginx連携させる手順です。

PHP5.6(各種モジュール)のインストール

まずは、yumリポジトリの追加。

# yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

そしてGPGキーを追加。

# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

最後に、remiリポジトリを有効にするオプションを付けながらyumを実行します。

# yum --enablerepo=remi-php56,remi install php-fpm php-mbstring php-xml php-mysql php-pdo php-mcrypt php-pecl-memcached php-pecl-msgpack

これでインストール自体は完了です。

# php -v
PHP 5.6.19 (cli) (built: Mar  3 2016 08:05:32)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies


PHPの設定

PHPの設定を修正します。

# vim /etc/php.ini
default_charset = "UTF-8"
date.timezone = "Asia/Tokyo"
mbstring.language = Japanese

その他、チューニングしたいなら下記も参考にどうぞ。

nginxとの連携

nginxと連携するためのPHP-fpmの設定とサービスの起動を行います。

まずは、設定です。
PHP-fpmの実行ユーザを修正します。nginxの起動ユーザに合わせるのがいいでしょう。

# vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

PHP-fpmの実行ユーザを変更した場合は、下記ディレクトリのオーナーも変更してあげます。
オーナー変更ではなく、権限の変更でも良いです。
PHPのバージョンアップを実施すると、オーナーならびに権限が戻ってしまうことがあります。その際は再度設定が必要です。

# pwd
/var/lib/php
# ll
total 144
drwxrwx--- 2 root apache 139264 Sep 15 22:01 session
drwxrwx--- 2 root apache   4096 Sep 15 22:01 wsdlcache
# chown root:nginx session wsdlcache
# ll
total 144
drwxrwx--- 2 root nginx 139264 Sep 15 22:01 session
drwxrwx--- 2 root nginx   4096 Sep 15 22:01 wsdlcache

設定が完了したら、PHP-fpmの起動と自動起動設定を行います。

# service php-fpm start
# chkconfig php-fpm on

最後に、nginxにphp用の設定とlocationを追加します。

# vim /etc/nginx/conf.d/default.conf
server {
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_pass                 127.0.0.1:9000;
        fastcgi_index                index.php;
        fastcgi_param                SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_connect_timeout      60;
        fastcgi_send_timeout         300;
        fastcgi_read_timeout         300;
        fastcgi_buffer_size          128k;
        fastcgi_buffers              4 256k;
        fastcgi_busy_buffers_size    256k;
        fastcgi_temp_file_write_size 256k;
        include fastcgi_params;
    }
}

設定を修正したら、チェックして再起動。

# nginx -t
# service nginx restart

最後にPHPの稼働確認。

# vim /usr/share/nginx/html/phpinfo.php
<?php
    phpinfo();
?>

ブラウザからphpinfo.phpにアクセスしてみます。
PHPの各種情報が表示されればOKです!