私の調べ方が悪いのか、調べても出てこないのでメモ。
検証環境はArchlinuxです。
事象
パッケージからインストールするなどし、/usr配下等にwebアプリケーションを置くと、webアプリケーションから読み取り専用に見える
/opt等に手動インストールするとうまくいく
原因
php-fpmのunitファイルにProtectSystem=full
が設定されている
確認
systemctl cat php-fpm
...
# Mounts the /usr, /boot, and /etc directories read-only for processes invoked by this unit. ProtectSystem=full
...
解決策
systemctl edit php-fpm
[Service]
ProtectSystem=false
注意
この設定を行うとセキュリティが低下します。