web-dev-qa-db-ja.com

画像をアップロードするときのHTTPエラーを修正する方法?

私はApacheとPHP 5.3.Xを使ってUbuntu 12.04でWordPress 3.4.1を使っています

ダッシュボードにログインして新しい投稿を追加したとき。それから注目の画像として設定するために画像をアップロードしてみてください、私はメッセージ "HTTPエラー"と赤いボックスが表示されます。

私はフラッシュアップローダを使用せずにブラウザアップローダを使用するように言う人について読んだことがありますが、それを試みるとき、私はちょうど500 Internal Server Errorを受け取ります。

私は私の.htaccessファイルの先頭にAddType x-mapp-php5 .phpを付け加えようとしましたが、運は変わりませんでした。

ALLプラグインを無効にしても効果はありません。私はフレッシュインストールを試みました。運がありません。

Update 10/17/2016 - カスタムのロールまたは機能を使用している場合は、ネイティブのロールまたは機能を使用してもう一度やり直してください。

確認することを検討するもの:

  • ファイルの所有権
  • ファイル許可
  • .htaccessの設定
  • PHPバージョン7以降
  • WordPressの現在のバージョン

プロキシを使用している場合は、プロキシサーバーのタイムアウトが正しく設定されていることを確認してください。

WordPress 3.4.1 Media Upload HTTP Error

28
Michael Ecklund

チャットで@Wyckを使用してトラブルシューティングを行った後、私たちは根本的な問題に絞り込みました。

この問題は私の サーバー設定 に関連していて、Apache/PHPに適切な量のメモリが割り当てられていませんでした。

これと同じ問題がある場合は、サーバー設定でApache/PHPに十分な(64 MB +)サーバーメモリが割り当てられていることを確認してください。これをwp-config.phpファイルに追加することもできます。

define('WP_MEMORY_LIMIT', '64MB');

上記の解決策がうまくいかない場合は、さらなるトラブルシューティングのための記事Image/Media Uploaderの問題? /を参照してください。

WordPressインストールのルートディレクトリにある.htaccessファイルに、次の.htaccess微調整を1つずつまたはすべてを追加してみてください。

真剣に、あなたがどれがトリックをしたかについてわかるように、以下の解決策のうちの1つを試してください。ただちにそれらすべてを.htaccessファイルに貼り付けるだけではいけません。

この行を試してください:

AddType x-mapp-php5 .php

mod_security が問題を引き起こしている可能性があります。それが問題かどうかを確認するために無効にします。これを行うには、wp-adminディレクトリに.htaccessファイルを作成します。これを追加してください。

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

Webサーバーの認証に基づくアクセス制御(通常はhtpasswd、基本認証、パスワードで保護されたディレクトリなど)を使用している場合、WordPressはFlash Uploader、Cron、およびXMLRPCに対してそれを処理できません。関連ファイルは機能するように除外する必要があります。これはセキュリティ上の考慮事項を破る可能性があることに注意してください。

# Exclude the file upload and WordPress CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

最後の注意事項:PHP 5.3.Xのより小さなバージョンを使用している場合はPHPセーフモードを無効にしてみることができると言う人もいます。

WordPressマルチサイトを実行していて、画像のアップロードに関連したHTTPエラーまたは内部サーバーエラーを受信して​​いる場合は、マルチサイトへの画像のアップロードが原因でHTTPエラーの失敗アイデアと解決策のトラブルシューティング.

21
Michael Ecklund

以下のコードをfunctions.phpファイルに入れました。できます!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_Gd', 'WP_Image_Editor_Imagick' );
}

これが役に立つのは、それがWordPressで使用するためにアップロードされた画像の処理に使用されるPHPコードモジュールを変更するためです。

この処理には、画像をメディアライブラリデータベースに移動したり、WordPressが常にテーマにアクセスできるようにしたいさまざまなサイズの画像( "サムネイル"、 "中"、 "大")の生成が含まれます。

それが最初であるので、それは "Gd"モジュールを使用させます。サーバのセットアップによっては、大きなピクセルサイズなどの特定の画像シナリオでは、新しい "Imagick"ライブラリが他のライブラリとうまく動作しないため、 "Gd"ライブラリを使用するように強制することを修正します。

24
Allen

ワードプレスでメディアをアップロードしようとしたとき、私は同じエラーに遭遇しました。 Chromeでは、http:errorとして表示されます。 Firefoxでは、エラーはかなり異なります。 Webにはバグを追いかけるために何日も費やした人々の完全な物語があります(だからI :-(を持ってください)。

私のtuppenceに値する貢献:この問題がApache2のログファイルに表示されているセグメンテーション違反と相関していることに気づきました。診断するのが難しいので、それは私を邪魔します。

サーバー全体を再起動すると、すべての症状が取り除かれ、突然Wordpressでメディアを再びアップロードすることができました。イライラするように、私はこれがなぜ起こるのかについて手掛かりがありません。再起動により、それ以上の調査は事実上不可能となり、問題が再発するのを待つ必要があります(数週間〜数ヶ月)。これが、この問題の原因を追求する他の人々の助けになることを願っています。私の妻は、私がもうこの問題を追いかけて夜を過ごすことができないので、幸せです。

4
Stef Joosten

下記のように私の所有者をrootからApacheに変更することでこの問題を解決しました。

chown -R Apache:Apache/var/www/html/mydomain

そして、wp-content/uploads/の権限を775に変更しました。

その後、私はメディアに画像をアップロードしようとしました。画像をアップロードできました。

1
imran

私は同じ問題を抱えていました。 Force Image Magick Pluginを使ってデフォルトのイメージプロセッサをPHP GdからImageMagickに変更するなど、さまざまな修正を試みました

これはHTTP Error/500エラーに役立ちましたが、サムネイルはもう生成されていませんでした。それから私は再びプラグインを無効にし、それから私がこれを助けたのは 答え /質問について /画像サイズ変更がうまく機能していないように見えます 。私のPHP_MEMORY_LIMIT160MBに設定されました。これは私の飼い主が許可する絶対最大値です。

PHP Gdを使用してサムネイルを生成するとき、画像をアップロードするためにこれはおよそ6000 x 6000 pxの画像の最大可能寸法をもたらしました。したがって、ファイルサイズだけでなくイメージのサイズも確認することが重要です。サイズの大きい画像をアップロードすると、ファイルサイズが小さい場合でもHTTPエラー/エラー500が発生しました。

0
intagli