My開発メモ

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