WordPress

WordPressで画像アップロードできずにHTTPエラーになったときの解決法

「なにもしてないのに突然壊れました!」というのはよく聞きます(どう考えても突然壊れることは多分ない)。
プログラムが稼働していれば、大抵エラーが出てくると思ってる人間です、こんにちは。

「WordPressで画像がアップロードできなくなりました!」っていう相談を受けたので、その時の解決ログとなります。

症状・環境

  • 画像がアップロードできなくなった
  • 最近までアップロードできていた
  • エラー文が出ている
  • 利用サーバはXサーバ

画像がアップロードできなくなったときのエラー文

「エラーが出たとき、問題が起きたときのスクリーンショットを送るようにしてください」と、すべてのクライアントにお伝えしてます。
スクリーンショットから得られるヒントってかなり大きい。
で、実際に送ってもらったスクショがこちら。

Fetal error出てました

Fatal error: Maximum execution time of 30 seconds exceeded in/PATH/wp-includes/cpass-wp-editor-imageick.php on line 502
max_execution_timeでエラーが出てました。

スクリーンショットを見る限り、アップロードの処理がタイムアウトしているように見えます。
タイムアウトが起きるときは大抵、処理が過重な時かと思います。

エラー再現してみるとHTTPエラーが表示される

エラーが出てるのは画像からでもわかるんですが、目視確認。
すると別のエラー文が表示されてました。HTTPエラーです。

1MB程度の画像をアップロードすると、HTTPエラーが表示されました

いくつか挙動確認してみましたが
どうやら500KB程度の画像であればアップロードできますが、1MB超えるような画像だとエラーが出されます。

php.iniを編集して解決

Xサーバのサーバパネルのphp.ini編集にてmax_execution_time = 30max_execution_time = 60に変更。

Xサーバのphp.iniを直接編集

他にも、4050と試してみましたが60秒にしないとエラー出されました。

今回も先人の知恵に感謝をしつつ。