ich habe riesige Probleme mit einem FastCGI-GEspann aus apache 2.0.x und PHP5. Momentan ist als MOdul mod_fcgid installiert. Es funktioniert meistens gut, nur manchmal erhalten die Benutzer 500erter Errors (Internal Server errors).
Die Logdateien zeigen zu diesem Zeitpunkt folgende Einträge
1. Error-Log-Datei vom VHost:
Code: Select all
[Mon Jan 15 15:20:21 2007] [warn] mod_fcgid: can't apply process slot for /pfad/zum/php/script.php
[Mon Jan 15 15:20:22 2007] [warn] mod_fcgid: can't apply process slot for /pfad/zum/php/script.php
2. Error-Log-Datei vom Apache:
Code: Select all
[Mon Jan 15 15:20:24 2007] [notice] mod_fcgid: process /pfad/zum/php/script.php(22050) exit(communication error), terminated by calling exit(), return code: 0
[Mon Jan 15 15:20:24 2007] [notice] mod_fcgid: process /pfad/zum/php/script.php(22039) exit(communication error), terminated by calling exit(), return code: 0
[Mon Jan 15 15:20:28 2007] [notice] mod_fcgid: process /pfad/zum/php/script.php(22061) exit(communication error), terminated by calling exit(), return code: 0
Meine Konfiguration sieht wie folgt aus:
- Gentoo unstable hardened
- Apache/2.0.59
- mod_fcgid 2.0
- PHP 5.1.6-pl8-gentoo with Hardening-Patch 0.4.15
Konfigurationsdateien:
1. mod_fcgid.conf
Code: Select all
<IfDefine FCGID>
<IfModule !mod_fcgid.c>
LoadModule fcgid_module modules/mod_fcgid.so
</IfModule>
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcg
BusyTimeout 60
IPCCommTimeout 60
MaxRequestsPerProcess 440
IdleTimeout 120
IdleScanInterval 60
</IfModule>
</IfDefine>
Code: Select all
<Directory "/srv/vhost/html">
Options -All +FollowSymlinks +ExecCGI
AllowOverride AuthConfig FileInfo Indexes Limit Options
Order allow,deny
Allow from all
AddHandler fcgid-script .php
FCGIWrapper /srv/php-fcgi-scripts/vhost/php-fcgi-starter .php
</Directory>
<VirtualHost *:80>
ServerName pagenstecher.de
DocumentRoot "/srv/vhost/html/seite"
SuexecUserGroup vhost www-users
ErrorLog /srv/vhost/logs/error_log
CustomLog /srv/vhost/logs/access_log combined
</VirtualHost>
Code: Select all
#!/bin/sh
PHPRC="/srv/pagenstecher/conf"
export PHPRC
PHP_FCGI_CHILDREN=10
export PHP_FCGI_CHILDREN
exec /usr/bin/php-cgi
Komisch ist auch: "pstree -up" zeigt mir immer wieder eingie Prozesse an, die als "Eltern" nur den init-prozess haben, was ja eigentlich nicht passieren sollte, denn normalerweise (und so ist es auch bei fast allen php-cgi-prozessen) sollten die ja dem apache "gehören". Diese Prozesse tun auch rein garnichts und ich kille sie dann immer mal wieder.
Wer hat mir irgendeinen Tipp wo ich anfangen kann zu suchen? Kann man PHP irgendwie zu Debug-Ausgaben überreden?
Danke
TO