WordPress で「Failed to Write File to Disk」エラーに遭遇するのは、よくある厄介な問題です。このエラーメッセージは通常、ファイルをアップロードしようとしたり、ディスクへのデータ書き込みを伴う作業を行ったりするときに発生します。
要点: このエラーには3つの根本原因があります:サーバーの
/tmpディレクトリが満杯(多くは大きなバックアップ実行がパーティションを埋めたあと)、WordPress のアップロードフォルダーのファイル権限が誤っている、または書き込みの途中で PHP のメモリ上限が尽きる。下の5つの方法は各根本原因に対処します——判定表から始めて、あなたの状況に合うものを選んでください。
Contents
「Failed to Write File to Disk」エラーの理由は何か?
「Failed to Write File to Disk」エラーはさまざまな理由で発生します。
- 一時ディレクトリが満杯: サーバーの
/tmpパーティションが満杯になると——多くは大きなバックアップ実行のあと——WordPress はアップロードされたファイルをバッファリングできず、エラーを引き起こします。WP STAGING のサポートチケットでは、バックアップ作業後の満杯の/tmpディレクトリが最も多い引き金の一つです。 - 誤ったファイル権限: 不適切なファイル権限は WordPress がディスクにファイルを書き込むのを妨げ、エラーを招きます。
- PHP のメモリ枯渇: PHP のメモリ上限が不足していると、書き込み操作が途中で失敗します。PHP のメモリ上限を下げたホスティングプランの格下げ直後に、このエラーが現れるのを見たことがあります。
- プラグインまたはテーマの競合: プラグインやテーマ間の競合がファイルの書き込みを妨げ、エラーにつながることがあります。
- サーバー構成の問題: 誤って設定されたファイルパスやアクセス制限など、サーバー構成の問題がエラーを引き起こすことがあります。
「Failed to Write File to Disk」エラーの原因を特定することは、問題を解決し、WordPress サイトで信頼できるファイルアップロード体験を確保するうえで不可欠です。
どの対処が自分に当てはまるか?
完全な方法リストに取りかかる前に、この表を使って出発点を選んでください。
| エラーはいつ発生するか? | まず始めるのは |
|---|---|
| メディアファイルや画像のアップロード時のみエラー | 方法1(一時ファイルを消去)または方法2(ファイル権限を調整) |
| PHP バージョンの更新やホスティングプランの格下げ後にエラーが出た | 方法3(PHP のメモリ上限を増やす) |
| アップロードだけでなく多くの異なる操作でエラーが発生する | 方法2(ファイル権限を調整) |
| WordPress コア・テーマ・プラグインの更新が途中で失敗する | 方法4(WordPress とプラグインを更新) |
| 上記のどれも当てはまらない、または他の方法を試してもエラーが続く | 方法5(ホスティングプロバイダーに連絡) |
方法1:WordPress の一時ファイルを消去する
一時ファイルを消去する手法を段階的に説明します。
- 認証情報を使って WordPress サイトの管理ダッシュボードにログインします。

- まだなら、WP Super Cache や W3 Total Cache のようなキャッシュプラグインのインストールを検討してください。これらのプラグインは一時ファイルをより効率的に管理・削除するのに役立ちます。

- キャッシュプラグインがある場合、キャッシュを消去するか一時ファイルを削除するオプションを見つけます。対応するボタンをクリックして、プラグインが保存しているキャッシュファイルと一時データを削除します。

一時ファイルを消去するこれらの手順に従うことで、WordPress でのファイル書き込みを妨げかねないキャッシュや一時データを取り除き、「Failed to Write File to Disk」エラーを解消できる可能性があります。
方法2:ファイル権限を調整する
WordPress はファイルを正常に書き込むために特定のファイル権限を必要とします。ファイルは 644、ディレクトリは 755 に設定すべきです。WordPress 開発者向けドキュメントが正しい権限スキームを詳しく説明しています。
WordPress で「Failed to Write File to Disk」エラーを直すためにファイル権限を調整する手順を段階的に示します。
- ウェブホスティングアカウントにアクセスし、ホスティングプロバイダーが提供する cPanel ダッシュボードに移動します。

- cPanel インターフェース内の「File Manager」アイコンまたはリンクを探し、クリックしてファイル管理ツールを開きます。

- ファイルマネージャーで、WordPress インストールがあるディレクトリーに移動します。通常は
public_htmlまたは「www」ディレクトリーです。

- 「Failed to Write File to Disk」エラーを起こしている特定のファイルまたはディレクトリーを見つけます。これらは通常、ファイルのアップロードや書き込み操作に関連しています。

- ファイルまたはディレクトリーを右クリックし、コンテキストメニューから「Change Permissions」または「Permissions」を選びます。

- 権限のウィンドウに、ファイル権限を変更するためのチェックボックスや入力欄が表示されます。ファイルまたはディレクトリーに適切な権限を設定します(例:ファイルは 644、ディレクトリーは 755)。
- 「Change Permissions」または「Save」ボタンをクリックして、変更した権限を選択したファイルまたはディレクトリーに適用します。

cPanel のファイルマネージャーでこれらの手順に従うことで、ファイル権限を調整して WordPress でのファイル書き込みを正常に行えるようにし、「Failed to Write File to Disk」エラーを解決できます。
方法3:PHP のメモリ上限を増やす
PHP のメモリ上限が低すぎると、WordPress は書き込み操作を完了できません。php.ini の memory_limit ディレクティブは、単一の PHP プロセスが使えるメモリ量を制御します——256M や 512M のような値が WordPress サイトでは一般的です。
WordPress で PHP のメモリ上限を増やすには、次の手順に従えます。
- ウェブホスティングアカウントにアクセスし、ホスティングプロバイダーが提供する cPanel ダッシュボードに移動します。

- cPanel ダッシュボードで「File Manager」オプションを見つけてクリックします。

- WordPress インストールの主要ディレクトリー、通常はルートディレクトリーと呼ばれる場所(一般に
public_htmlまたは www)に移動します。

wp-config.phpファイルを見つけて右クリックします。- コンテキストメニューから「Edit」または「Code Edit」オプションを選びます。求められたら、もう一度「Edit」を選びます。

wp-config.phpファイルで/* That's all, stop editing! Happy blogging. */と書かれた行を探します。- その行のすぐ上に、次のコードを追加します。
define('WP_MEMORY_LIMIT', '256M');
256M の値を変更して、希望のメモリ上限を設定できます。たとえば 512 メガバイトなら 512M です。
wp-config.phpファイルへの変更を保存し、ファイルマネージャーを閉じます。

PHP のメモリ上限を増やすこれらの手順に従うことで、WordPress により多くのメモリリソースを提供でき、「Failed to Write File to Disk」エラーの克服に役立ちます。
方法4:WordPress とプラグインを更新する
古い WordPress コアファイルや、既知のファイル処理バグを持つプラグインは、書き込みエラーを引き起こすことがあります。WordPress とプラグインを最新に保つことで、ファイルシステム操作向けの最新のバグ修正を確実に得られます。
「Failed to Write File to Disk」エラーの解決に役立つ、WordPress とプラグインを更新する手順です。
- 適切な認証情報を入力して、WordPress サイトの管理ダッシュボードにアクセスします。

- WordPress ダッシュボードで、サイドバーメニューまたは上部のナビゲーションバーにある「Updates」タブを見つけます。クリックして進みます。

- 更新ページで、WordPress はサイトにインストールされた WordPress コア・テーマ・プラグインの更新を自動的に確認します。更新が利用可能な場合は表示されます。

- まず WordPress コアの更新から始めます。新しいバージョンが利用可能なら、「Update Now」ボタンをクリックして更新処理を開始します。WordPress は最新バージョンを自動的にダウンロードしてインストールします。

- コアを更新したら、プラグインの更新に進みます。更新が利用可能なプラグインを選択するか、「Select All」オプションを使って一度にすべて更新します。「Update Plugins」ボタンをクリックして更新処理を開始します。

WordPress とプラグインを更新したら、以前にエラーを引き起こしていたファイル書き込み操作を試して、問題が解決したか確認します。エラーが続く場合は、下のトラブルシューティングのセクションを進めてください。
方法5:ホスティングプロバイダーに連絡する
上の方法を試してもエラーが続く場合、次のステップはホスティングプロバイダーのサポートチームです。彼らはサーバーレベルのアクセス権を持ち、cPanel だけでは到達できない php.ini、ディスククォータの設定、ディレクトリ権限を調べられます。
「Failed to Write File to Disk」エラーを解決するために、ホスティングプロバイダーに連絡してください。プロバイダーを特定してそのウェブサイトにアクセスします。サポートまたは連絡のセクションを使って、希望する連絡方法(ライブチャット、メール、電話)を選びます。エラーメッセージ、wp-content/debug.log のデバッグログのエントリー、そして一時ファイルの消去・権限の調整・メモリ上限の引き上げをすでに試したことの確認を伝えてください。
その案内と指示に従ってください。必要であればフィードバックを伝えるか、さらなる支援を求めます。ホスティングプロバイダーのサポートチームはエラーを効果的に切り分けて解決できます。
エラーが続く場合の対応
上の5つの方法のどれでも問題が解決しない場合、根本原因は cPanel が直接公開しないサーバーレベルの構成にある可能性が高いです。最も一般的な高度な原因は3つです。
php.iniでupload_tmp_dirが上書きされている: ホスティングプロバイダーが、書き込み権限が不十分なディレクトリーや満杯のパーティションを指す独自のupload_tmp_dirディレクティブをphp.iniに設定している場合があります。ホストにupload_tmp_dirのパスと利用可能なディスク容量を確認するよう依頼してください。open_basedirの制限: 一部のホスティング構成は、open_basedirディレクティブを使って PHP を特定のディレクトリツリーに制限します。設定された一時パスがその制限の外にあると、PHP はそこに書き込めません。ホストにopen_basedirの値と、一時・アップロードのディレクトリーがその中に収まっているかを確認するよう依頼してください。- サーバーレベルのディスククォータ: ホスティングアカウントのディスククォータは、
/tmpパーティションの上限とは別に総ストレージを制限します。クォータが満杯だと、個々のフォルダー権限に関係なくすべてのファイル書き込みが阻止されます。ホスティングのコントロールパネルのディスク使用状況の概要を確認し、アカウントの上限に達していないか確かめてください。
まとめ
WordPress の「Failed to Write File to Disk」エラーは、一時ファイルの消去、ファイル権限の調整、PHP のメモリ上限の引き上げ、WordPress とプラグインの更新、そしてホスティングプロバイダーへの連絡によって解決できます。
これらの手順で問題が解決しない場合、次の診断レイヤーはサーバー構成です:ホストが upload_tmp_dir を上書きしていないか、open_basedir の制限を適用していないか、サーバーレベルのディスククォータを課していないかを確認してください。この順序を進めることで、このエラーの原因の全範囲に対処できます。