株式会社ライブキャストロゴ 株式会社ライブキャスト

先日、久しぶりにブログを書こうと思い、WordPressで画像アップロードなどしてみると、なんと、HTTPエラーになるではないですか!?


なぜか小さい画像はアップローでできるのですが、少し大きめのものをあげるとエラーになってしまうのです。
ただ、PHPのアップロードファイルサイズの上限(2M)以上のファイルはアップしていないので、PHPのエラーではなさそうです。

Apacheのエラーログを見てみたところ、以下のようなエラーが出ていました。

mod_fcgid: HTTP request length 133926 (so far) exceeds MaxRequestLen (131072)

mod_fcgidモジュールでエラーになっているようです。

画像アップロード時に送信されたデータ量がmod_fcgidの制限値をオーバーしてしまったため、エラーになっていました。mod_fcgidのデフォルト値(131072バイト)をほんの少し超えてしまったみたいです。

というか、1年くらい前ににmod_fcgidを導入してから、131072バイトを超える画像をアップしたのが初めてだったことに驚いてしまいました。。。

mod_fcgidは、ずいぶん前に導入していたため記録が残っていませんでしたので、導入手順については割愛します。
こちらのブログが参考になるかと思います。
apache の FastCGI(mod_fcgid) で phpを動かしてみる | レンタルサーバー・自宅サーバー設定・構築のヒント
Apacheをマルチスレッド(worker)環境にしてPHP(CGI/FastCGI)を動かす – 前向きに行こうか – craysの日記

ということで、mod_fcgidの処理できるデータ量の最大値を変更したいと思います。

Apacheの設定ファイル、httpd.confにFcgidMaxRequestLen設定を追記します。
書式は、以下のようになります。

FcgidMaxRequestLen 最大値

値はPHPの設定と同じ2M(2097152バイト)の設定にしたいと思います。

FcgidMaxRequestLen 2097152

httpd.confを保存して、Apacheを再起動します。

httpd -k restorat

あらためて画像をアップロードしてみると、今度は正常にアップロードできました!



これでガンガン、ブログ書けるようになりました!