- 2026.09.02
- 保守・セキュリティ
- GIVデザインチーム
WordPressの更新で「FTP認証情報を入力してください」と言われたら、まずディスク容量を疑え
WordPressのプラグインを更新しようとしたら、見慣れない画面が出てきた。
接続情報
要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。次に進むには FTP の認証情報を入力してください。認証情報が思い出せない場合は、ホスティング担当者に問い合わせてください。
ホスト名・FTPユーザー名・FTPパスワードの入力欄が並んでいる、あの画面である。
結論から書くと、原因はディスク容量オーバーだった。FTPともパーミッションとも関係なかった。
同じ画面で検索してきた人のために、なぜこの表示になるのかと、切り分けの順番を残しておく。
この画面が出る仕組み
WordPressはファイルを更新する前に、自分自身でファイルを書き換えられるか(=direct方式が使えるか)を判定している。判定しているのは wp-admin/includes/file.php の get_filesystem_method() という関数だ。
やっていることはシンプルで、
wp-contentなどの対象ディレクトリに、テスト用の一時ファイルを作ってみる- 作れたら、その一時ファイルの所有者と、PHPの実行ユーザーが一致するか確認する
- 一致すれば「自分で書き込める」と判断して
direct方式を採用する
そしてこのどこかで失敗すると、WordPressは「自力では書き込めない」と判断してFTP方式にフォールバックする。その結果として出るのが、あの認証情報の入力画面である。
ここが今回のポイントで、ディスクが満杯だと 1番の「一時ファイルを作る」段階で失敗する。WordPressから見れば「書き込みテストに失敗した」という事実しか分からないので、容量不足だとは伝えてくれない。所有者やパーミッションの問題と区別がつかないまま、一律でFTPを求めてくる。
つまりあのメッセージは、原因を正しく言い当てていない。「書き込めなかった」という結果だけが表示されている。
よくある対処法を先に試して、外した
検索すると出てくる定番の対処は、だいたい次の2つだ。
1. wp-config.php に FS_METHOD を書く
/* 編集が必要なのはここまでです */ の上に追加する。
define('FS_METHOD', 'direct');
所有者の不一致が原因なら、これで判定を飛ばして直接書き込みに行ける。
2. パーミッションを直す
find /path/to/wordpress -type d -exec chmod 755 {} \;
find /path/to/wordpress -type f -exec chmod 644 {} \;
wp-content/plugins・wp-content/themes・wp-content/upgrade が書き込み可能かどうかが要点になる。特に wp-content/upgrade は更新時の作業ディレクトリなので、消えていると失敗する。
今回はどちらも効かなかった。 FS_METHOD を入れても更新に失敗する場合、そもそも書き込みができない物理的な理由があると考えたほうがいい。
実際の原因:バックアップファイルの堆積
サーバーのコントロールパネルでディスク使用量を見たら、上限に張り付いていた。
犯人はバックアップ系プラグインが生成したファイル。世代管理の設定を入れていなかったため、実行のたびにアーカイブが積み上がり、気づかないうちに容量を食い尽くしていた。
古いバックアップを削除したら、その場で更新が通るようになった。FS_METHOD もパーミッション変更も、結局は不要だった。
切り分けの順番(次回のために)
この経験を踏まえると、確認する順番はこうなる。
1. ディスク容量を確認する
最初にここを見る。コントロールパネルの容量表示か、SSHが使えるなら以下。
df -h
du -sh /path/to/wordpress/* | sort -h
コストがほぼゼロで、該当すれば一発で終わる。
2. wp-config.php に不審な定数がないか確認する
FTP_HOST FTP_USER FTP_PASS などが書かれていないか。身に覚えのない記述があるなら、改ざんの可能性も一応視野に入れておく。
3. FS_METHOD を試す
所有者不一致が原因ならここで解決する。
4. パーミッションと所有者を確認する
ここまで来て初めて権限まわりを疑う。
再発防止:削除して終わりにしない
原因が「気づかないうちに溜まる」タイプである以上、消しただけでは同じことが起きる。最低限、次の3つは入れておきたい。
バックアップの保存世代数を制限する
主要プラグインでの設定箇所は以下。
- BackWPup — ジョブ設定の「宛先: フォルダー」タブ内、
ファイルを削除でフォルダー内に残す世代数を指定する - UpdraftPlus — 「設定」タブの
保存するバックアップの数で世代数を指定する
3世代もあれば実用上は足りることが多い。
保存先をサーバー外に逃がす
そもそも同じサーバーにバックアップを置くのは、容量の問題以前にリスクがある。サーバー障害が起きたとき、バックアップごと巻き込まれるからだ。Dropbox・Google Drive・Amazon S3 など、外部ストレージを保存先に指定しておく。
容量を監視する仕組みを作る
さくらインターネットのコントロールパネルには、ディスク使用量が一定を超えたときにメールで通知する設定がある。他社サーバーでも同様の機能があることが多い。
人間が定期的に見るのは続かないので、検知は自動化する。ここまでやって、ようやく対処が完了したと言える。
まとめ
- 「FTP認証情報を入力してください」は、書き込みテストに失敗した結果を表示しているだけで、原因は特定してくれない
- ディスク容量オーバーでも、パーミッション不備と同じ画面になる
- 検索して出てくる
FS_METHODやパーミッション修正で解決しない場合は、容量を疑う - バックアップファイルの堆積は典型的な原因。世代管理の設定は最初に入れておく
エラーメッセージが原因を正しく指していないケースは、地味にハマる。原因ではなく症状が表示されているだけかもしれない、と一段引いて考えられると早い。
ホームページ保守でお困りの方は、弊社ホームページ保守サービスからお問い合わせください。
Web・AI・セキュリティのお悩みは
GIV株式会社へご相談ください
「サイトをリニューアルしたい」「業務を自動化したい」
そんな課題を、技術とデザインの力で解決します。
まずはお気軽にお問い合わせください。