mod_fcgid: read data timeout in 40 seconds Premature end of script headers: index.php Researching the issue I have set the /etc/apache2/mods-enable/fcgid.conf */mods-available/fcgid.conf */sites-enable/site.com.vhost <IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi IdleTimeout 300 BusyTimeout 300 ProcessLifeTime 7200 IPCConnectTimeout 300 IPCCommTimeout 7200 </IfModule>
If this does not help, then you should set this in the vhost of the affected website too by either adding or changing these settings in the vhost template or adding it in the apache directives field.
Where is the apache directives configuration? This is on a 9.10 Ubuntu Perfect Server Configuration Also, can I keep the same format or do I need to make any changes when adding those lines to the configuration?
This worked, however, where can you set this as the server default? We have over 10 very heavy database driven websites.
Like all vhost related settings, you can set this in the vhost master template: /usr/local/ispconfig/server/conf/
Even with these modifications I am still getting the following error: Code: [Mon Apr 05 19:48:47 2010] [warn] mod_fcgid: read data timeout in 40 seconds [Mon Apr 05 19:48:47 2010] [error] [client XX.XX.XX.XX] Premature end of script headers: index.php, referer: http://www.website.com/index.php Any ideas? I was under the impression that "IPCCommTimeout" was what was causing the timeout... But even setting it to 7200 didn't help.
This is so strange. I've tried several different PHP Settings: Fast-CGI Gives me the "mod_fcgid: read data timeout in 40 seconds" error CGI I get this error "Timeout waiting for output from CGI script" SuPHP It works but does wierd stuff with my CMS ModPHP Can't upload files because it generates strange folder permissions.
This thread doesn't appear to have a resolution, and I am getting the very same errors. Here's a sample of the error.log: Code: [Tue Sep 20 20:31:32 2011] [warn] [client 58.246.122.2] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:31:33 2011] [warn] [client 180.76.5.19] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:31:36 2011] [warn] [client 66.249.68.121] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:31:53 2011] [warn] [client 180.76.5.194] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:32:43 2011] [warn] [client 66.249.68.121] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:32:43 2011] [error] [client 66.249.68.121] Script timed out before returning headers: php-cgi-starter [Tue Sep 20 20:33:01 2011] [warn] [client 180.76.5.155] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:33:01 2011] [error] [client 180.76.5.155] Script timed out before returning headers: php-cgi-starter [Tue Sep 20 20:33:11 2011] [warn] [client 180.76.5.13] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:33:21 2011] [warn] [client 180.76.5.156] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:33:21 2011] [error] [client 180.76.5.156] Script timed out before returning headers: php-cgi-starter [Tue Sep 20 20:33:56 2011] [warn] [client 180.76.5.144] Timeout waiting for output from CGI script /var/www/php-cgi-scripts/web26/php-cgi-starter [Tue Sep 20 20:33:56 2011] [error] [client 180.76.5.144] Script timed out before returning headers: php-cgi-starter This is only happening on one website and it isn't the one with the greatest load. Machine is a quad Xeon, 16GB RAM, 1.2TB with separate array for the DB. Any insight would be greatly appreciated.
According to http://forums.freebsd.org/showthread.php?t=21041 you should increase the TimeOut directive value in Apache.
You are correct, this is the right directive for setting the fastCGI timeout. However, in many installations, this directive is is placed in several config files, and the last one wins. So unless you hit by chance the last place where this parameter is set, you are screwed. It took me about a day's work to I finally figure out where to put this directive in a Debian/Linux system managed under Plesk. The files is /var/www/vhosts/<yourhostname>/vhost.conf This file vhost.conf will usually not exist, unless you have already done some non-standard vhost configuring already. So you need to create it. Then just put contents like: # set time limit to be greater than the longest reasonable php module # execution time # # Note: some (drupal..) modules advertize themselves as long and tell you # to tweak php set_time_limit(). But this is ineffective by itself, unless you # are running PHP as a module. For PHP in CGI and FasCGI modes, the # shorter of the php time limit and cgi time limit will win, so you need to # relax both constraints Code: <IfModule mod_fcgid.c> [INDENT]IPCCommTimeout 900[/INDENT] </IfModule>