先日、WordPressでサイトを作成したクライアントから大きな画像をアップロードできないとの連絡が入りました。
私の方でも確認してみるとアップロード時にHTTPエラーが発生していました
原因は?
まず最初に疑ったのが、画像ファイルのサイズが大きすぎるのではないかということで、いくつかのサイズの画像をアップロードしてみました。
そうすると、やはり大きめの画像(概ね1000×500以上)でエラーが発生していました。
小さいサイズの画像ならアップロードできるので、「画像サイズを小さくしてください」って言うのは簡単ですが、そうもいきません。
ネット上にもいくつか対処方法がのっています。
その中に、PHP.ini の「max_execution_time」を増やすというものがありました。
「max_execution_time」とは、サーバ側で実行するPHPプログラムが動ける時間(秒数)のことで、この時間を超えると強制終了されます。
プログラムに何らかの不具合が含まれていて、いつまで経っても終了しない状況であったとしても、ここで設定している秒数で強制的にプログラムを終了してくれます。
しかし、プログラムに何も問題がなく、ちょっとデータ量が大きくて処理に時間がかかるものであった場合、途中で強制終了をしてしまいます。
このようなときに、この「max_execution_time」を増やすことで、強制終了されるまでの時間を延ばすことができるのです。
で、今回の画像アップロードですが、画像をアップロードして5秒位でHTTPエラーがでるため、これは関係ないものとおもい、初め無視していました。
しかし、最終的にこの対応を入れたところあっさりと解決して大きな画像をアップロードできるようになったのでした。
PHP.iniの変更
xServer を例に変更の手順を書きます。
まず、サーバパネルにログインしてください。
PHP.ini 編集をクリックして、該当のドメインを選択します。
その他設定の、max_execution_time の値を 30 から 60 に変更して「更新」をクリックします。
コメントを残す