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


28

Ubuntu 12.04でApacheとPHP 5.3.Xを使用してWordPress 3.4.1を使用しています

ダッシュボードにログインして新しい投稿を追加すると。次に、画像をアップロードして注目画像として設定しようとすると、「HTTPエラー」というメッセージの付いた赤いボックスが表示されます。

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

AddType x-mapp-php5 .php.htaccessファイルの先頭に追加しようとしましたが、変更はありません。

すべてのプラグインを無効にしても効果はありません。新規インストールを試みました。運がありません。

2016年10月17日更新- カスタムの役割または機能を使用している場合は、ネイティブの役割/機能を使用してもう一度試してください。

チェックを検討すること:

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

プロキシの背後で操作している場合は、プロキシサーバーのタイムアウトが正しく構成されていることを確認してください。

WordPress 3.4.1メディアアップロードHTTPエラー


背後にある理由は何AddType x-mapp-php5 .phpですか?これは非常にサーバー固有のようです。何も改善するよりも、恐らくあなたのサイト(すなわち、PHP)を壊す(または幸運なら何もしない)可能性が高いと思いますか?
MrWhite

回答:


25

次のコードを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」ライブラリを強制的に使用することは修正です。


functions.phpテーマを変更すると、コードが失われるため、小さなプラグインを作成する方が良いです。そして、私はあなたがテーマの変更後にこれを動作させたいと確信しています😊– EliasNS 18
1

1
+1これは、新しいHostGatorアカウントですぐに使用できるWP 4.9.4セットアップでこの問題に遭遇したときに機能しました。@EliasNS noobここ; このための小さなプラグインを作成する正しい方法は何ですか?
アンドリュージャンケ

@AndrewJanke、プラグインを使用できます😅es.wordpress.org
plugins

「Imagick」?ない"ImageMagickの"
ピーターモーテンセン

21

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

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

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

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

上記の解決策が機能しない場合は、Image / Media Uploaderの問題に関する記事をご覧ください。さらにトラブルシューティングするため。

WordPressインストールのルートディレクトリにある.htaccessファイルに、次の.htaccess調整を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エラーに失敗原因マルチサイトへのアップロード画像を他の可能なトラブルシューティングのアイデアや解決策を。


OK ...知っておくべきこと... WPは最大256MBのRAMを割り当てようとしているのでdefine('WP_MEMORY_LIMIT', '64MB');、可能であればこれを大きくする必要があることを読みましたか。
ダミアン

1
WP 4.1.1を使用している場合AddType x-mapp-php5 .php、ページでPHPコードをプレーンテキストとして単純に印刷するように強制されるため、これは実行可能なソリューションではなくなりました
-cameronjonesweb

1
または、nginxを使用している場合、これをサイトの構成ファイルに追加しますclient_max_body_size 128m;
。– Flatron

4

wordpressでメディアをアップロードしようとしたときに、同じエラーが発生しました。Chromeでは、http:エラーとして表示されます。Firefoxでは、エラーはまったく異なって見えます。Webは、バグを追跡するのに何日も費やした人々の完全な物語です(私もそうです:-()。解決策はたくさんありますが、少なくとも症状と一致する方法で、理由は誰も説明しません。

私のタッペンスに値する貢献:この問題は、apache2のログファイルで通知されるセグメンテーションフォールトと相関していることに気付きました。診断が難しいので、それは私を混乱させます。

サーバー全体を再起動すると、すべての症状がなくなり、突然Wordpressでメディアをアップロードできるようになりました。イライラして、私はこれがなぜ起こるのか見当もつかない。再起動により、これ以上の調査は事実上停止し、問題が再発するまで(数週間?数か月?)待たなければなりません。これが、この問題の原因を探る他の人々の助けになることを願っています。私の妻は、この問題を追いかけて夜を過ごすことができないので、幸せです...


1

次のように所有者をからrootに変更することで、この問題を解決しapacheました。

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

そして、私はへの許可を変更しwp-content/uploads/ました775

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


0

同じ問題がありました。Force Image Magickプラグインを使用して、デフォルトの画像プロセッサをPHP GDからImageMagickに変更するなど、さまざまな修正を試みました。

これはHTTPエラー/ 500エラーの助けになりましたが、サムネイルは生成されなくなりました。その後、プラグインを再度無効にしたところ、画像のサイズ変更がうまく機能していないように見えるという質問に対するこの回答役に立ちました。私PHP_MEMORY_LIMITに設定されました160MB、ホスティング事業者が許可する絶対最大値た。

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


0

私はそのような問題を何度も経験しmemory_limit = 256M、php.iniを増やすかdefine( 'WP_MEMORY_LIMIT', '256M' );wp-config.phpファイルを追加することで解決しました(*必要に応じてメモリを増やすことができます256M)。

別の可能な解決策は、\wp-content\uploads\フォルダーにアクセス許可を与えることです。コマンド:chmod -R 0755 wp-content\uploads\

それがあなたにも役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.