php.iniを変更後にApacheを再起動しても反映されない場合の対応方法
先日AlmaLinux8系にChronyをインストールしてサーバの時刻同期を行ったが、PHPからdate()等で日時を表示させると時刻がずれていた(サーバ時刻は合っている)。そのためphp.iniのDefault timezoneを変更しApacheを再起動させたが反映されない。以下に原因と対応方法のメモ。
原因
こちらのサイトによるとphp-fpmを利用している場合、php.iniの変更後はApacheではなくphp-fpmを再起動する必要があるらしく、それを行っていないため反映されなかった模様。
対応方法
サーバにSSH接続後、以下コマンドでphp-fpmを再起動させる。
systemctl restart php-fpm
特定のディレクトリのみ異なるphp.iniファイルを設置したい場合
「.user.ini」というファイル名でアップロードし、php-fpmを再起動する必要あり。
.user.iniについてのリファレンスはこちら。
php-fpmとは
公式ページによると「FPM (FastCGI Process Manager) は、PHPにおけるFastCGI 実装です。(主に)高負荷のサイトで有用な機能が含まれています」とのこと。うーん、よくわからない。
サーバにSSH接続しTOPコマンドで見てみるとhttpd(apache)とは別にphp-fpmが立ち上がっている点が見受けられた。
今までだとhttpdがPHPの処理をしていたと思うけど、php-fpmはhttpdとは別のプロセスになるみたい。
また、予め起動してあるプロセスが要求を順番に処理していくのでメモリーの使用効率が良く、その分高速に処理できるらしい。
参考サイト
関連記事
PHPで文字列の操作(検索、置換、切り出し)
しばしば行う文字列の操作をまとめておく。 ----- ■文字列の長さを調べる e ...
PHPで住所や名前のテキストをランダム生成するライブラリFakerPHPの使い方
PHPでランダムなデータを生成したい際に値段や点数等の数値やパスワード等のランダ ...
mp3ファイルのアップロードと再生方法
mp3ファイルをformでアップロードしたかったのと、Webサイト上で再生したか ...
PHPのfor文とforeach文
ループ処理の際、forとforeachのどっちでもいけそうな場合、 特にどっちを ...
Composerで後から別のパッケージを追加する方法と削除する方法
Composerで何らかのパッケージをインストールし、後から別のパッケージを追加 ...