WordPressで「アップロードされたファイルを移動できませんでした…」を修正する方法
序章
WordPressインストールに新しいメディアファイルをアップロードするときに、サイトのストレージフォルダーにデータを書き込めない問題が発生する場合があります。 このエラーは通常、画像、ビデオ、その他のファイルをWordPressサイトの投稿やページにアップロードしようとしたときに発生します。
このチュートリアルでは、1つの一般的なエラーメッセージのトラブルシューティングを行います。
the uploaded file could not be moved to…
このエラーは、/wp-content/uploads
フォルダーにファイルをアップロードしようとしたときに失敗したことが原因です。
ステップ1—問題の特定と複製
問題のトラブルシューティングの最初のステップは、エラーの原因と問題の再現方法を理解することです。 WordPressサイトのコードの特定の部分に問題を切り分けることができれば、問題を修正する方法をより適切に特定できます。
エラーメッセージを見てみましょう。
The uploaded file could not be moved to...
このメッセージから、ファイルはサーバーに送信されましたが、宛先フォルダーwp-content/uploads
などに移動できなかったことがわかります。 アプリケーションを実行しているシステムユーザーには、宛先フォルダーにコンテンツを書き込む権限がない可能性があります。
WordPressファイルは通常、ウェブホスティングサーバーまたは Droplet でホストされており、正しく機能するには特定の権限が必要です。 読み取りまたは書き込みを行おうとしているファイルまたはディレクトリのファイル権限が間違っていると、前述のエラーまたは同様のエラーメッセージが表示される場合があります。
問題を再現するには、目的のフォルダーに新しいファイルをアップロード(または書き込み)してみてください。 エラーが発生するまでの動作に注意し、エラーが変更されたか、同じままであるかを確認してください。
問題を再現した場合は、手順2に進んで、wp-content/uploads
フォルダーなどへのアップロードを妨げているアクセス許可の問題を修正します。
ステップ2—WordPressアップロードフォルダーのアクセス許可を修正する
wp-content/uploads
フォルダーへのアップロードに関する問題については、次のエラーメッセージが再度表示される場合があります。
‘The uploaded file could not be moved to wp-content/uploads/’
‘Unable to create directory wp-content/uploads/~. Is its parent directory writable by the server?’
このエラーを修正するには、WordPressサイトがインストールされているサーバーへのターミナルアクセスが必要です。 リモートサーバーにログインする方法の詳細については、 SSH を使用してドロップレットに接続する方法に関するガイドに従ってください。このガイドでは、このプロセスについて詳しく説明しています。 Linuxを使用したコマンドラインの基本については、Linuxコマンドライン入門書にアクセスしてください。
ログインしたら、サーバー上のWordPressサイトの場所を確認します。 設定に応じて、これは/var/www/
、/usr/share/html/
などのパス、またはサーバー管理者によって定義されたカスタムの場所になります。 次のコマンドを実行するには、この情報が必要になります。
次に、次のコマンドを実行します。これにより、ユーザーwww-data
がWordPressアップロードフォルダーの所有者として設定されます。 www-data
ユーザーは通常、ApacheとNginxの両方のインストールでWebサーバーを実行するシステムユーザーです。 このユーザーは、アップロードされたファイルを正しい場所にコピーするために、WordPressアップロードフォルダーへの書き込みアクセス権が必要です。
強調表示されたパスをWordPressインストールへのパスに置き換えます。
- sudo chown -R www-data /var/www/mysite/wp-content/uploads
このコマンドはsudo
を介して管理者権限を呼び出すため、ターミナルセッションでsudo
を初めて使用する場合は、ユーザーのパスワードの入力が必要になる場合があります。 これにより、www-data
ユーザーがwp-content
ディレクトリに対してデータの読み取りと書き込みを行い、フォルダーをアップロードできるように、正しいフォルダーのアクセス許可が設定されます。
ステップ3—エラーのテスト
前述のコマンドを入力したら、初期エラーをテストします。 新しいファイルをWordPressインストールにアップロードしてみて、何が起こるかをメモしてください。 ファイルが正常にアップロードされた場合は、目的のフォルダーへの書き込みアクセスを許可する権限が設定されており、問題は解決されているはずです。
それでもエラーメッセージが表示される場合は、ホスティングプロバイダーに問い合わせて、WordPressインストールのアクセス許可が設定されている場所を確認し、正しいアクセス許可を設定するための支援を求めてください。
推奨されるWordPressフォルダーのアクセス許可の詳細については、公式ドキュメントを参照してください。
結論
このチュートリアルでは、WordPressインストールのwp-content
フォルダーにファイルをアップロードする際の問題を特定、修正、およびテストしました。
最適化やインストールなどのヘルプを含むWordPressの詳細については、WordPressリソースの包括的なリストをご覧ください。