WordPressの更新時に「要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。」などと表示され、今まで表示されたことのなかったFTPアカウント情報の入力を促されました。
いろいろと調べたところ、見つかったページの中はおおよそ「chown -R …」でオーナーを変更する、もしくはwp-config.phpに「define(‘FS_METHOD’,’direct’);」を追記するというものでした。しかし、私の環境ではこれらでは改善できませんでした。
ただアクセス権限の問題であることは明らかです。ふと思い出すのは先日、サーバー環境を大幅に更新したことです。その中にPHPのアップグレードが含まれていました。
アクセス権限といえばファイルやディレクトリーだけでなく、そもそもPHPはどのユーザーで動いているのか、という反対側=アクセスする側も問題です。”ps -auxw | grep php”などとして確認したら「apache」で動いているではありませんか。
このサーバーはnginxで動かしているので、当然、アクセス権限もnginxに合わせています…。PHPのアップグレード時に実行ユーザー・グループが引き継がれていなかったことが原因でした。
「/etc/php-fpm.d/www.conf」にある該当箇所を以下のように修正することで解決しました。
;user = apache user = nginx ; RPM: Keep a group allowed to write in log dir. ;group = apache group = nginx
apacheで動かしていて部分をnginxに書き換え、「/etc/init.d/php-fpm restart」で再起動で完了です。