Error: Apache2 - mod_fcgid: HTTP request length exceeds MaxRequestLen

You try to upload a file through http to your web site running on Apache2/PHP5/mod_fcgid, and in your browser you get the error:

Error 500, Internal server error

In Apache's error log you see something like

[Thu Jan 27 15:14:15 2011] [warn] [client 192.168.1.151] mod_fcgid: HTTP request length 131484 (so far) exceeds MaxRequestLen (131072), referer: ...

 

Solution

First check in your php.ini that upload_max_filesize has a big enough value for your upload. By default it's

upload_max_filesize = 2M

(2 MB)

Then open your Apache vhost configuration and add the FcgidMaxRequestLen directive with a big enough value (in bytes), for example

FcgidMaxRequestLen 2000000

which equals roughly 2 MB.

The default value is

FcgidMaxRequestLen 131072

which is very small (see http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxrequestlen).

Finally restart Apache.

Falko Timme

About Falko Timme

Falko Timme is an experienced Linux administrator and founder of Timme Hosting, a leading nginx business hosting company in Germany. He is one of the most active authors on HowtoForge since 2005 and one of the core developers of ISPConfig since 2000. He has also contributed to the O'Reilly book "Linux System Administration".

Share this page:

Suggested articles

8 Comment(s)

Add comment

Comments

By: Stone1555

Could you tell us which file to add this change to?

 

"Then open your Apache vhost configuration and add the FcgidMaxRequestLen directive with a big enough value "

 

Sorry if this a little elementry

By: Anonymous

after changing the FastCGI conf just reload Apache is sufficient, no need to restart it

By:

I have directly this problem. I made higher upload_max_filesize in php.ini but it doesn't help. I want realize the 2nd step but I can't find Apache vhost configuration file. 

/etc/apache2/mods-enable/fcgid.conf  doesn't exist 

Where is the vhost configuration file in Linux vmxxxx.wedos.net 2.6.32-71.29.1.el6.x86_64 #1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_64 x86_64 GNU/Linux

 thanks

 

By: entelesis

nano /etc/apache2/mods-available/fcgi.load

LoadModule fcgid_module /usr/lib/apache2/modules/mod_fcgid.so

# add the following lines

<IfModule fcgid_module>
FcgidMaxRequestLen 51200000
</IfModule>


/etc/init.d/apache2 reload

works for all virtual hosts using fcgi.

 

By: catalinggo

if you are using ispconfig3

#cd /etc/apache2/mods-available

#nano fcgid.conf

adding on new line "FcgidMaxRequestLen 51200000"

<IfModule mod_fcgid.c>
  AddHandler    fcgid-script .fcgi
  FcgidConnectTimeout 20
  FcgidMaxRequestLen 51200000
</IfModule>

#/etc/init.d/apache2 restart

And try to upload again :)

 

By: Luis Gago Casas

Indeed this solution helped me . Thanks for sharing.

By: Iredoo

Just wanted to let you know what I did on centos 6.4.

 Found the file  /etc/httpd/conf.d/fcgid.conf

 nano /etc/httpd/conf.d/fcgid.conf

 and added the line

 FcgidMaxRequestLen 2000000

 Then restart the apache service.

By: Kon

You are amazing! This helped a lot, specifically the FcgidMaxRequestLen directive