【Amazon Linux 2】Assignment outside of section. Ignoring. というエラー
PHP8.2 がリリースされたので、さっそくビルドして自前のAWS EC2インスタンスに入れた。
その過程で、php-fpm をサービスに登録して systemctl status php-fpm.service
を実行したところ、以下のログが永遠と並んでいる、とう事象が発生していた。
Dec 11 21:34:18 xxxxxx systemd[1]: [/etc/systemd/system/php-fpm.service:1] Assignment outside of section. Ignoring.
Dec 11 21:34:18 xxxxxx systemd[1]: [/etc/systemd/system/php-fpm.service:2] Assignment outside of section. Ignoring.
原因
php-fpm のユニットファイルの記述を、本来以下のようにすべきだったところ
/etc/systemd/system/php-fpm.service
[Unit]
Description=php-fpm (8.2)
After=network.target
[Service]
Type=simple
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
以下のように先頭行の記述( [Unit]
)が抜けてしまっていたことだった。
/etc/systemd/system/php-fpm.service
Description=php-fpm (8.2)
After=network.target
[Service]
Type=simple
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
つまり「セクションを定義してその中にパラメータを記述する」というお作法に従わず定義されたパラメータは無視しますよ、というログだった。
解決策
上記の正しい例のように Unit
セクションを追加したところ、このログは表示されなくなった。