「なにもしてないのに突然壊れました!」というのはよく聞きます(どう考えても突然壊れることは多分ない)。
プログラムが稼働していれば、大抵エラーが出てくると思ってる人間です、こんにちは。
「WordPressで画像がアップロードできなくなりました!」っていう相談を受けたので、その時の解決ログとなります。
症状・環境
- 画像がアップロードできなくなった
- 最近までアップロードできていた
- エラー文が出ている
- 利用サーバはXサーバ
画像がアップロードできなくなったときのエラー文
「エラーが出たとき、問題が起きたときのスクリーンショットを送るようにしてください」と、すべてのクライアントにお伝えしてます。
スクリーンショットから得られるヒントってかなり大きい。
で、実際に送ってもらったスクショがこちら。
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エラーです。
いくつか挙動確認してみましたが
どうやら500KB程度の画像であればアップロードできますが、1MB超えるような画像だとエラーが出されます。
php.iniを編集して解決
Xサーバのサーバパネルのphp.ini編集にてmax_execution_time = 30
をmax_execution_time = 60
に変更。
他にも、40
,50
と試してみましたが60秒にしないとエラー出されました。
今回も先人の知恵に感謝をしつつ。