勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

php.iniを変更後にApacheを再起動しても反映されない場合の対応方法

  PHP

先日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とは別のプロセスになるみたい。

また、予め起動してあるプロセスが要求を順番に処理していくのでメモリーの使用効率が良く、その分高速に処理できるらしい。

 

参考サイト

https://webukatu.com/wordpress/blog/33083/#WebFPM

https://qiita.com/kotarella1110/items/634f6fafeb33ae0f51dc

 - PHP

  関連記事

VONAGEとPHPでショートメッセージ(SMS)を送信する方法
VONAGEとPHPでショートメッセージ(SMS)を送信する方法

PHPからショートメッセージ(SMS)を送信してみたかった。また、SMS送信は基 ...

PHPでbool値(true / false)を文字列として出力する方法
PHPでbool値(true / false)を文字列として出力する方法

PHPにてbool値(true / false)をechoで出力するとtrueは ...

PHPにて西暦から干支(十二支)を計算し表示する方法
PHPにて西暦から干支(十二支)を計算し表示する方法

先日MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表 ...

CodeIgniter3でCronを実行する方法
CodeIgniter3でCronを実行する方法

CodeIgniter3系で特定の処理をCronで自動実行したかった。以下に設定 ...

PHPからLINEのMessaging APIにリクエストし通知を送る方法
PHPからLINEのMessaging APIにリクエストし通知を送る方法

LINEから「2025/3/31にLINE Notifyのサービスが終了する」と ...