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

更新完成了新的WordPress 之后,在编辑新的文章的时候,提示服务器内部错误,查看 Apache2 的日志,发现如下错误

[Wed Jun 04 13:42:20 2014] [warn] [client 42.120.74.210] mod_fcgid: HTTP request length 133623 (so far) exceeds MaxRequestLen (131072), referer: http://www.mobibrw.com/wp-admin/post-new.php

查询了一下原因,发现是由于 FastCGI 的默认的提交最长的HTTP 数据缓冲区小于文章的实际长度了。因此需要增大缓冲区的长度。

sudo vim /etc/apache2/mods-available/fcgid.conf

然后看看配置文件中是否有 MaxRequestLen”有则修改,无则增加。

我这边的默认配置如下

<IfModule mod_fcgid.c>
  AddHandler    fcgid-script .fcgi .php
  FcgidConnectTimeout 20
  DefaultMaxClassProcessCount 10
</IfModule>

修改之后的结果为

<IfModule mod_fcgid.c>
  AddHandler    fcgid-script .fcgi .php
  FcgidConnectTimeout 20
  DefaultMaxClassProcessCount 10
  MaxRequestLen  15728640
</IfModule>

发布者