php fast-cgi, 500 error újra

Sziasztok!

Nem tudom replodukálni a hibákat, számomra véletlenszerűen 500-as hibákat dobál a szerver. Kb 100 weboldal van a szerveren: wordpress, joomla, phpbb, stb vegyesen.

Hibák amik előjönnek:
- Handler for fastcgi-script returned invalid result code 1
- Interrupted system call: FastCGI: comm with server ...
- FastCGI: comm with (dynamic) server ... aborted: error parsing headers: duplicate header 'Status'
- FastCGI: incomplete headers (0 bytes) received from server ...
- FastCGI: client stopped connection before send body completed

configok:

vhost (bocs,

[code]

-al is elnyelte ha ide copyztam)

fast-cgi.conf:
FastCgiIpcDir /var/lib/apache2/fastcgi
FastCgiWrapper /usr/lib/apache2/suexec
FastCgiConfig -killInterval 60 \
-startDelay 5 \
-idle-timeout 60

fcgi:
#!/bin/sh
PHPRC="."
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
exec /usr/lib/cgi-bin/php5 $*

Szoftver:

Ubuntu-Server 8.04.3 Hardy Heron - Release amd64
php5 5.2.4-2ubuntu5.7
php5-cgi 5.2.4-2ubuntu5.7
libapache2-mod-fastcgi 2.4.6-0ubuntu1
apache2 2.2.8-1ubuntu0.11
apache2-mpm-worker 2.2.8-1ubuntu0.11

apache modulok:
actions.conf
actions.load
alias.conf
alias.load
auth_basic.load
authn_file.load
authz_default.load
authz_groupfile.load
authz_host.load
authz_user.load
autoindex.conf
autoindex.load
cgid.conf
cgid.load
dir.conf
dir.load
env.load
fastcgi.conf
fastcgi.load
mime.conf
mime.load
negotiation.conf
negotiation.load
rewrite.load
setenvif.conf
setenvif.load
status.conf
status.load
suexec.load

Amire eddig jutottam:
Miután hozzáadtam a confighoz a
-killInterval 60 \
-startDelay 5 \
-idle-timeout 60
részt, az idle timeout hibák megszüntek, és a teljesítmény is jelentősen javult.

Joomlában ez alapján sikerült megoldani a "duplicate header 'Status'" hibát.

Tehát header("Status: 200"); helyett header("HTTP/1.0 200") kell cgi-ben. Ez ok. Viszont phpbb-ben nem találtam ilyet. Ami volt az már ki volt kommentelve és helyette HTTP volt. Log mégis tele van "duplicate header 'Status'" hibákkal.

Ötlet a többi hibára?

Hozzászólások

Szerintem mod_fastcgi hiba. Vagy mondjuk úgy, hogy nem teljesen egyértelmű, hogyan kellene viselkednie, ha a CGI HTTP header-t ad vissza. lighttpd-ben a fastcgi lenyeli, az apache-nél a mod_fastcgi hibát jelez rá.

Fordítsd újra a mod_fastcgi-t: a process_headers függvényben írd át a

if ((p = strchr(name, ':')) == NULL) {
goto BadHeader;
}

részt erre

if ((p = strchr(name, ':')) == NULL) {
continue;
}

Vagy térj át lighttpd-re :-).

Újra gond azzal a fránya fast-cgi-vel :S.
Config ugyanaz ami fent, de nagy terhelésű időszakban egyes felhasználóknál ez jön elő logban:
(4)Interrupted system call: FastCGI: failed to connect to server "/var/www/.../php-fcgi": connect() failed

És nem jön be egyik oldala sem, csak tölt, tölt, aztán hosszu várokozás után 500-as hiba. Többi felhasználónak jó ez idő alatt. Apache restart után helyreáll.

Ötlet?