AWS(Amazon Linux)でPHP7.0の設定

Attention : Amazon Linux 2 がリリースされており、この記事は古くなっています。


データベースの操作をするために、phpMyAdminをアップロードしました。
解凍してアクセスしてみると。

Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)

php.iniの設定を何も変更していないので、このようなこともあるかもしれません。

セッションファイルを作成するディレクトリに書き込み権限がありません、と言っています。

phpinfoによると、セッションの保存ディレクトリは/var/lib/php/7.0/sessionです。
このディレクトリにはopcachewsdlcacheのディレクトリもあるので、全てオーナーを変更します。

$ cd /var/lib/php/7.0
$ sudo chown -R nginx:nginx *
$ ls -al
total 20
drwxr-xr-x 5 root  root  4096 Nov  1 03:16 .
drwxr-xr-x 3 root  root  4096 Nov  1 03:16 ..
drwxrwx--- 2 nginx nginx 4096 Sep 14 15:50 opcache
drwxrwx--- 2 nginx nginx 4096 Sep 14 15:50 session
drwxrwx--- 2 nginx nginx 4096 Sep 14 15:50 wsdlcache

再度アクセスしてみます。

出ました。
当たり前ですけど。

このタイミングで近い将来変更確実な項目を変更しておきます。
アップロードファイルの最大サイズはデフォルトで2MBです。
これを、一旦20MBに変更します。

upload_max_filesizeの値を20Mに、post_max_sizeの値を30MBに変更したいと思います。

phpinfoによると、
Loaded Configuration File /etc/php.ini
なので、/etc/php.iniを変更します。

変更後は

$ sudo service php-fpm restart

で再起動すれば反映します。