Apache2のFast-CGIの設定を変更し、再起動させる(Ubuntu)
経過
ブラウザの画面にエラーメッセージを表示させたくて、以下のファイルを編集した。
$ sudo vi /etc/php/8.1/apache2/php.ini
503 display_errors = On
そののち、Apache2を再起動させた。
$ sudo service apach2 restart
ん?変更が反映されていない。
phpinfo() をみてみると、
display_errors の項目が Off のままである。
apacheは FPM / FastCGI モードで動いている
phpinfo() の Server API の項目を見ると FastCGI モードで動作しているのがわかる。
Server API : FPM/FastCGI
Configration File (php.ini) Path : /etc/php/8.1/fpm
Loaded Configuration File : /etc/php/8.1/fpm/php.ini
設定ファイルは、そこに書かれているように、/etc/php/8.1/fpm/php.ini である。
それを編集する。
$ sudo vi /etc/php/8.1/fpm/php.ini
503 display_errors = On
あとは、php-fpmのサービスを再起動すればいいのだが、そのサービス名は何か?
php-fpmサービスの再起動
/etc/php/8.1/fpm/php-fpm.conf を見ると、
[global]セクションに以下のように書かれている。
; service PIDFile= setting to match the value here.
pid = /run/php/php8.1-fpm.pid
サービス名は、php8.1-fpm のようである。
次のようにしてみる。これで現在の状態を知ることができる。
$ systemctl status php8.1-fpm
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor pr>
Active: active (running) since Sun 2023-04-23 05:52:05 JST; 2h 42min ago
Docs: man:php-fpm8.1(8)
Process: 1196 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run>
Main PID: 1076 (php-fpm8.1)
Status: "Processes active: 0, idle: 2, Requests: 20, slow: 0, Traffic: 0re>
Tasks: 3 (limit: 14242)
Memory: 28.1M
CPU: 541ms
CGroup: /system.slice/php8.1-fpm.service
├─1076 "php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)" ">
├─1194 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" >
└─1195 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" >
再起動
$ sudo systemctl restart php8.1-fpm
phpinfo() で確認すると、
display_errors の項目が On になっている。
環境
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
カテゴリー: Apache, memo, Ubuntu
タグ: Apache2, FastCGI, php.ini
カウント: 218