I am having troubles with the following combination: Apache 2.2.6 + mod_fcgid 2.2 + php-fcgi 5.2.4 + eAccelerator(latest)
I got Internal server error time to time, some examples taken from error_log: [Sat Oct 20 08:26:12 2007] [warn] (104)Connection reset by peer: mod_fcgid: read data from fastcgi server error. [Sat Oct 20 08:26:12 2007] [error] [client xxx] Premature end of script headers: foobar1.php, referer: http://foobar/foobar1.php [Sat Oct 20 09:19:25 2007] [warn] mod_fcgid: read data timeout in 80 seconds [Sat Oct 20 09:19:25 2007] [error] [client xxx] Premature end of script headers: foobar2.php, referer: http://foobar/foobar2.php [Sat Oct 20 14:37:23 2007] [warn] mod_fcgid: read data timeout in 80 seconds [Sat Oct 20 14:37:23 2007] [error] [client xxx] Premature end of script headers: galeria.php, referer: http://www.foobar.hu [Sat Oct 20 14:37:30 2007] [notice] mod_fcgid: process /web/web/host/foobar.hu/pages/foobar3.php(1103) exit(communication error), terminated by calling exit(), return code: 0 FCGI configuration: LoadModule fcgid_module modules/mod_fcgid.so AddHandler fcgid-script .php IPCCommTimeout 80 PHP_Fix_Pathinfo_Enable 1 MaxRequestsPerProcess 500 FCGIWrapper "/usr/local/php5/bin/php.sh" .php Where the shell script is: #!/bin/sh PHP_FCGI_MAX_REQUESTS=2000 export PHP_FCGI_MAX_REQUESTS exec /usr/local/php5/bin/php-cgi -c /usr/local/apachehoste/conf/php5.ini I was really out of ideas and then it just came up, that i read in lighttpd's documentation, that if you were using opcode cacher you have to limit number of fcgi processes to 1 and increase php's internal process manager to a higher value by setting PHP_FCGI_CHILDREN environment variable. So i set PHP_FCGI_CHILDREN to 10 in the shell script and MaxProcessCount to 1 in httpd.conf. Configuration seems to be stable and no internal server errors anymore (so far anyway). And now my question is: mod_fcgid reports the following events, which is normal: [Sat Oct 20 14:49:10 2007] [notice] mod_fcgid: /web/web/host/foobar.hu/pages/foobar4.php total process count 1 >= 1, skip the spawn request I am not familiar with the fastcgi protocol at all, so I am wondering whether in this case mod_fcgid forwards the requests to the php process manager or is waiting for processing of prev requests to be finished?... Of course another hints about the configuration are welcome. Best regards, Erno Kovacs ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Mod-fcgid-users mailing list Mod-fcgid-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mod-fcgid-users