php.iniを編集する!

KUSANAGI

このサイトもそうなのですが、テーマをLightningからCocoonに変えた途端に、キャッシュを効かせない場合のパフォーマンスがかなり落ちました。
サイトが重くなっていしまいました。

エラーログを見たところ、PHPのエラーが出ており、どうやらメモリが足りなさそうだったのでPHPのメモリを変更するために設定ファイルを編集しようと思いました。

PHPの設定ファイルは、php.ini

PHPマニュアルから、PHPの設定ファイルを引用します。

設定ファイル (php.ini) は PHP の起動時に読み込まれます。 PHP のサーバーモジュール版では、Web サーバーの起動時に 一度だけ読み込まれます。CGI 版と CLI 版では、スクリプトが呼び出される度に読み込まれます。

http://php.net/manual/ja/configuration.file.php

PHPが起動される時に読み込まれるイニシャルファイルです。ここに設定を書いておくことでPHPの起動の際に思い通りのことができます。

では、このphp.iniファイルはどこにあるのでしょうか。
「大体こういうのは/etc 配下だろ!」正解です。
ただし、”php.ini”と名のついたファイルがそこかしこにある場合があります。

PHP7の php.ini

このブログの環境は、PHP7を利用しています。(執筆時現在)
PHPは、セキュリティサポートが終わってしまいましたが5.6系もまだまだありますよね。

PHP 7.3.1 (cli) (built: Jan 11 2019 12:36:29) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies

利用しているPHPの設定ファイル php.ini がどこにあるのかを確認する方法として、phpinfoを確認するのが良いです。

今回は簡単なブラウザ上で確認する方法を紹介します。
DocumentRoot配下に以下のコードを入れたPHPファイルを作成します。
(ファイル名は何でもOKですが、今回は info.php で作成します。)

<?php echo phpinfo(); ?>

その後に、このファイル名をURL末尾につけてブラウザで確認します。
※このブログの場合は、https://webtomoblg.net/info.php となります。
すると、

phpinfo を見ると、

/etc/php7.d/php.ini

が設定ファイルであることがわかりました。

後はこのファイルを編集するだけ。デフォルトでは128Mとなっていたところ、256Mに変更しました。

おしまいにWebサーバーの再起動で完了です。
このブログではNginxを利用しているためNginxのリスタートを行います。

[root@xxx.xxx.xxx.xxx php7.d]# nginx -t  //一応Nginxのコンフィグ確認
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@xxx.xxx.xxx.xxx php7.d]# systemctl restart nginx  //Nginxのリスタート

まとめ

勝手が分かってしまえばなんてことはないのですが、「あれっ?どうだったっけ?」となってしまうところかと思います。
ただし、php.iniを変更したからといって自分の想定通りのパフォーマンスや結果が得られるとは限らないので、幅広い発想でパフォーマンスチューニングができたらと思いました。

タイトルとURLをコピーしました