【解決方法】WordPressの更新で「FTPアクセスを求められる」問題を修正する方法

WordPressを管理画面から更新しようとした際に、
次のようなメッセージが表示されて更新できないことはありませんか?

「更新のためにFTP情報を入力してください」
「FTPサーバー、ユーザー名、パスワードを入力してください」

この現象は、サーバー上のファイルの所有権とWordPressを実行しているユーザーが一致していないことが原因で発生します。
今回はその仕組みと、実際の解決手順を解説します。

🧩 現象の概要

WordPressの管理画面から更新を実行すると、
システム内部で「PHPがWordPressのファイルに書き込み」を行います。

ところが、サーバー上で以下のような状態になるとエラーが起きます。

WordPressのファイル所有者が「admin」や「root」など別のユーザー

PHPが「apache」や「nginx」ユーザーとして動作している

この場合、PHPがファイルを直接変更できず、
WordPressはFTP経由で更新するモード(FTPモード)に自動切り替えされます。
その結果、FTP接続情報の入力を求められます。

✅ 解決方法(推奨)
① ファイル所有者をPHP実行ユーザー(例:apache)に変更

SSHでサーバーにログインし、以下のコマンドを実行します。

/var/www/html/wp はWordPressを設置しているパスに置き換えてください。
VPSやCentOS系サーバーでは、PHP実行ユーザーが「apache」の場合が多いです。


② パーミッションの整理

続けて、ディレクトリとファイルのアクセス権を整理します。

これにより、WordPressが安全にファイルを扱えるようになります。


③ wp-config.php に追記(必要に応じて)

一時的な対応として、FTPモードを強制解除するには
wp-config.php に以下を追記します。

ただし、権限の不一致が解消されていないと効果がない場合があります。
根本解決は「所有者の修正」です。


🧪 テスト結果(VMware上での検証)

弊社のVMwareテスト環境で検証を行いました。
ファイル所有者を apache:apache に統一したところ、
WordPress本体の更新が管理画面から正常に実行できる ことを確認しました。

これにより、FTP情報の入力は不要となり、
管理画面から直接アップデートを実行できる状態となりました。


🔄 自動アップデート(マイナー更新)について

マイナーアップデート(セキュリティ更新)も同じ書き込み権限を使用するため、
wp-cron.php が正常に実行されていれば、自動更新も動作する見込みです。

※ サーバーのcron設定や、外部アクセスによるトリガーが有効であることを確認しておくと安心です。


📋 まとめ

項目内容
原因ファイルの所有者とPHP実行ユーザーが異なるため
解決方法所有者を apache:apache に変更し、パーミッションを整理
補足wp-config.phpFS_METHOD を追記してもOK(暫定対応)
検証結果VMwareテスト環境で正常動作を確認済み
注意点自動更新は wp-cron.php が有効であることが前提

お問い合わせ


    お気軽にお問い合わせください。
    お電話やご訪問での営業はいたしませんので、ご安心ください。

    お名前

    メールアドレス

    電話番号

    お問い合わせ内容