WordPressで画像アップロードエラーを修正する方法
公開: 2018-02-28最近、WordPressエラーを修正するための完全ガイドを公開しました。読者の1人がメールを送り、WordPressで画像アップロードエラーを修正する方法を見つけました。 自分のブログでこのエラーを思い出せないほど長くはなかったので、一晩中苦労して問題を見つけて修正しました。
当時、私のブログは始まったばかりだったので、その解決策を投稿しませんでしたが、他の人がこの奇妙な問題を修正するのを手伝うのに遅すぎることはありませんでした。
基本的に、この問題では、WordPressに画像をアップロードできませんでした。アップロードが完了すると、メディアライブラリ内の画像が壊れたものとして表示されます。 この記事では、WordPressでの画像アップロードの問題を修正する方法を紹介します。
これが、WordPressの画像アップロードエラーに直面する理由です。
- 画像サイズ
- PHPメモリ
- ModSecurity
- プラグインの競合
- ファイルのアクセス許可
- サーバー上のPHPバージョン
画像サイズ
これは、4000 x 3000ピクセルの画像など、ピクセルサイズが大きい画像をアップロードしようとした場合に発生します。 これは、サーバーが処理するには大きすぎます。
一部のサーバーでは、画像がそのサイズよりも小さい場合でもエラーが表示されます。これはすべてサーバーリソースによって異なります。
解決
画像のサイズを小さくしてください。 たとえば、非常に大きなピクセル画像を追加しないでください。 投稿コンテンツ領域の幅が800ピクセルの場合は、それより大きい画像を追加しないでください。
エラーなしでアップロードできるようになるまで、試行錯誤しながら画像サイズを縮小します。 プレミアムWordPressテーマを使用している場合、ほとんどのWordPressサイトには1075pxで十分です。ドキュメントを確認して、必要な画像サイズを確認してください。
拡張するのに十分なスペースがなく、そのスペースまで縮小するだけなので、問題は、そのサイズの画像をアップロードするときに、WordPressが大量のメモリを消費することです。 一部のサーバーはWordPressが消費できるメモリの量を制限しているため、この場合、アップロード中にエラーが発生します。
PHPメモリ
WordPressの機能とリソースは、すべてPHPで実行された後で制限される可能性があり、PHPを実行しているサーバーはこのリソースを制限する可能性があります。
PHPのメモリを自分で増やすか、Webホスティングサポートチームに問い合わせることができます。 メモリは2つの方法で増やすことができます:
解決
- WordPressのメモリを増やす
- PHPメモリを増やす
WordPressのルートディレクトリにあるwp-config.phpにこのコードを追加することで、WordPressのメモリを増やすことができます。
define('WP_MEMORY_LIMIT'、 '256M');
ホスト/サーバーでPHPのメモリ制限を増やすことができない場合、またはある程度制限する場合は、上記の設定が機能しない可能性があるため、サポートに直接相談して、制限を変更するように依頼することをお勧めします。 面倒なことはスキップします。 サポートチームにPHPメモリを増やすように依頼する方がよいですが、面倒なことが好きな場合は、以下のコードをphp.inまたはphp5.iniに追加してください。
memory_limit 256M
ModSecurity
あなたはこのセキュリティに気づいたことがないか、これについて知っているかもしれません。 ModSecurityは.htaccessとも呼ばれ、WordPressのルートディレクトリにこのファイルが表示されていることを願っています。ほとんどの場合、このファイルは非表示になっています。
サーバーでmodセキュリティが有効になっている場合は、このファイルが問題の原因である可能性があります。
解決
アップロードのmodセキュリティを無効にする必要があるため、wp-adminフォルダー内に.htaccessを作成し、次のコードを追加します。
<IfModule mod_security.c>
SecFilterEngineオフ
SecFilterScanPOSTオフ
</ IfModule>
これにより、wp-adminのアップロードファイル受信コードのmod_securityが無効になります。
注:サーバーでエラーが発生している場合は、これを削除してください。
プラグインの競合
ほとんどの場合、プラグインがアップロードプロセスと競合していることが確認されています。 多くの場合、私のブログでさえプラグインの競合に悩まされています。
これは、古いプラグインまたは最新バージョンのプラグインまたはWordPressへのアップグレードが原因でトリガーされた構文エラーが原因です。
画像のアップロード、縮小、圧縮に役立つプラグインがほとんどの場合エラーになることがわかりました。 場合によっては、そのアプリを使用して画像を圧縮またはレンダリングすると、一部のデスクトップアプリケーションでもこのエラーが発生していました。
また、jetpack、cdn、aws、またはリモートサーバーへのアップロードを支援するプラグインは、画像のアップロード時にWordPressエラーを引き起こします。
解決
一度に1つのプラグインを無効にしてください。 キャッシュとブラウザの履歴をクリアし、メディアアップローダーに再度アクセスして画像をアップロードし、成功したかどうかを確認します。
そうでない場合は、WordPressプラグインとデスクトップアプリを使用せず、生の.pngまたは.jpgをアップロードして、機能するかどうかを確認してください。
ファイルのアクセス許可
画像のアップロード中にエラーを引き起こすプラグインまたは限られたメモリではない場合は、サーバーのファイル権限を確認することをお勧めします。
ファイルのアクセス許可は、変更しなくても自動的に変更される可能性があります。
知りたい。 どのように変化しましたか?
ホスティング会社がサーバーでアップグレードを実行している場合、またはプラグインが更新されている場合は、ファイルのアクセス許可を変更できます。
共有ウェブホスティングを使用している場合は、ハッカーがファイルにアクセスし、ハッカーがアップロードしたペイロードによってファイルのアクセス許可が変更された可能性があります。
FTPプログラムを介してファイルのアクセス許可を簡単に変更できます。私は、MacとWindowsPCの両方でCyberduckforftpを使用しています。
FTP経由でファイルにアクセスしてから、 /wp-content/ディレクトリに移動します。 そこに/uploads/フォルダーが表示されます。 アップロードディレクトリを右クリックして、ファイルのアクセス許可を選択します。
最初に、アップロードディレクトリ自体とその中のすべてのサブディレクトリのファイルパーミッションを744に設定する必要があります。 これを行うには、[数値]ボックスに744と入力し、[サブディレクトリに再帰する]の横のチェックボックスをオンにします。
最後に、[ディレクトリのみに適用]ラジオボタンをクリックする必要があります。 [OK]ボタンをクリックして、これらの変更を適用します。
同じプロセスを繰り返す必要がありますが、アップロードフォルダに対してです。
uploadsディレクトリ内のすべてのファイルにファイル権限を設定する必要があります。 これを行うには、アップロードディレクトリを右クリックし、ファイルのアクセス許可を選択します。
ファイルのアクセス許可で、ダイアログボックスが数値を644に変更します。 [サブディレクトリに再帰する]の横のチェックボックスをオンにします。 [ファイルのみに適用]ラジオボタンをクリックします。 [OK]ボタンをクリックして、これらの変更を適用します。
FTPプログラムがこの変更を適用し、画像アップローダーが再び機能します
サーバー上のPHPバージョン
ほとんどの場合のように、誰もこれについて考えていないので、このエラーを解決している間、あなたが行うタスク全体を通してそれは見過ごされ続けます。
ほとんどの場合、更新ボタンを押す前に昨日まで機能していたとユーザーが言うように、なぜ誰かが必要なのですか?
ただし、プラグイン、テーマ、またはWordPressを更新すると、このエラーやその他のいくつかのエラーが発生する可能性があります。WordPressはPHPに基づいて構築されており、従うべきいくつかの標準があるため、開発者は常にWordPressに対して安定したバージョンを統計します。
サーバーのPHPバージョンがWordPressで要求されているものと同じでない場合は、サーバーサポートスタッフに連絡して、PHPバージョンをWordPressの要件に変更するよう依頼してください。
結論
(更新) 。 この修正は、私たちの読者のカップルによって指摘されました。 感謝します!
画像ファイルの名前(例:john's-blogging.png)にアポストロフィが含まれていないことを確認してください。アポストロフィを使用すると、エラーも発生します。
(更新) 。 イメージオプティマイザープラグインを使用している場合は、プラグインを非アクティブ化して、問題が解決するかどうかを確認してください。
それでも問題が発生する場合は、お知らせください。 喜んでお手伝いさせていただきます。このエラーを修正するためにどの方法が有効であったかを以下にコメントしてください。