web-dev-qa-db-ja.com

Gd Image Editorを使用していない限り、7MBを超えるファイルをアップロードするとHTTPエラーが発生する

私が最近開発したWordpressサイトに7MBを超えるファイルをアップロードすると、HTTPエラーが発生することに気付きました。私はいくつかのPHP変数をチェックし、memory_limitが256Mに設定され、post_max_sizeupload_max_filesizeの両方が128Mに設定されていることを確認しました。 this thread を読んだ後、私はデフォルトのWP_Image_EditorクラスとしてGdを使うDefault to Gdプラグインをインストールしてみました。

プラグインをインストールした後、私はもう問題を抱えていません。それは言った、新しいWP_Image_Editorクラスでこの問題を解決する方法があるかどうか私は興味がありますか?

また、HTTPエラーが発生したときに、そのファイルを追加した投稿に添付されているファイルを調べて、そのファイルが実際にそこにあり、正常にアップロードされたことを確認できます。ただし、Wordpressではメディアブラウザに表示する際に問題があるようです。

また、7MBを超える大きな画像を複数アップロードすると、最新の画像がメディアライブラリの最初の項目として表示されることにも気付きました。その画像を削除すると、次に最近アップロードされた画像が表示されます。何らかの理由でWordpressは最新の画像しか表示できず、サムネイルが壊れているようです。ただし、アップロードしたファイルのURIに移動すると、ファイルが正常にアップロードされたことがわかります。

誰がこれで何が起こっているのか知っていますか、そしてこれは対処されているWordpressの既知の誤りですか?ありがとうございます。

1
Hendeca

私は時々、これとまったく同じ問題と一連の症状を経験します。

利用可能なメモリに対して画像が大きすぎることが原因です。ファイルサイズではなく圧縮データがありますが、実際の幅x高さx色深さです。

あなたはそれがうまくアップロードしたのであなたはフルサイズの画像を見ることができます。メディアブラウザに問題があるのは、画像の拡大縮小やトリミング中にWPがメモリ不足になったため、メディアブラウザのサムネイルに使用できるバージョンがないためです。

プロセスにもっと多くのメモリを割り当てることでそれが解決されることを私はいつも見つけました。または、小さい画像(ファイルサイズではなく寸法)を使用してください。

あなたのホスティングがあなたのwp-config.phpでWP_MAX_MEMORY_LIMITを設定することができる最も簡単なことが許す限り、WordPressはWP_MAX_MEMORY_LIMITとあなたのPHPメモリ制限の高い方を使います:

define( 'WP_MAX_MEMORY_LIMIT', '257M' ); // you choose how much

とにかく画像処理のデフォルトは256Mなので、画像のサイズ変更に問題がある場合は256Mより高い値に設定する必要があります。

あなたのホストがPHPが@ini_setを使ってメモリを増やすことを許可している限り、これはうまくいきます。

2

Php.iniファイル内のメモリ制限を変更する必要があります。以下の情報を追加または更新します。

define('WP_MEMORY_LIMIT', '256M');

私の個人的な経験では、私はそれを256 MBにはしないでしょうが、私は多分あなたが上で言ったように40とは対照的に60にするでしょう。

0
Evaluation Unit

あなたがApacheベースのWebサーバを実行しているなら、あなたはあなたのhtaccessファイルにこのコードを使うことができます

SetEnv MAGICK_THREAD_LIMIT 1

このコードを使用して問題を解決しました。あなたが試すことができます。

0
Ariful Islam