Christopher
New Member
Hallo zusammen,
wir bekommen sporadisch die Apache 2 Fehlerseite "500 Internal Server Error" angezeigt und ich hab bisher noch auf keine Lösung gefunden. Hier mal die genaue Erklärung:
Setup:
Fehlerbeschreibung:
Prinzipiell funktioniert die Seite gut, nur bekommen wir gelegentlich die oben genannte Apache2 500 Internal Server error Fehlerseite. Gelegentlich bedeutet hier: In den letzten 4 Tagen ca. 120 mal bei ~200.000 page impressions.
Der Fehler tritt jeweils sofort auf. Soll heißen, wenn es passiert, lädt die Seite nicht lange rum, sondern gibt den Fehler so schnell wie einen 404er.
Der zugehörige Apache2 Error log Eintrag lässt auf ein Problem mit fcgid schließen:
Config Settings
fcgid:
(Siehe hier für eine Übersicht von fcgid Einstellungen.)
Sonstige Apache Config (Auszug):
Evtl. relevante PHP config:
Fehleranalyse
Die meisten Fehlerbeschreibungen, die ich gefunden habe gehen auf diesen Fehler ein, wenn fcgid überhaupt nicht funktioniert. Wie gesagt tritt der Fehler bei uns nur sehr selten auf.
Diese Quelle beschreibt mögliche Probleme mit flaschen End-of-line Charactern in den auszuführenden Skripten bzw. mit falschen Dateiberechtigungen. Wie gesagt bei uns eher nicht der Fall, da es sonst ja immer auftreten würde. (Habs natürlich außerdem überprüft).
Diese Quelle wiederrum argumentiert mit falschen Timeouts, welche wir auch erhöht haben. Der Umstand, dass der Fehler, wenn er auftritt, ohne jegliche Wartezeit angezeigt wird lässt mich auch daran Zweifeln, ob es Timeouts sind, die hier das Problem machen.
Ich meine irgendwo gelesen zu haben, dass evtl. abweichende Memory Einstellungen für PHP und fcgid Probleme machen könnten. Ich find aber unter diesen Stichworten leider nichts mehr in die Richtung.
Hat jemand Ideen?
Gruß,
christopher
wir bekommen sporadisch die Apache 2 Fehlerseite "500 Internal Server Error" angezeigt und ich hab bisher noch auf keine Lösung gefunden. Hier mal die genaue Erklärung:
Setup:
- Ubuntu 8.04 LTS
- Apache2
- MPM worker
- mod fcgid
- PHP 5.2.4-2ubuntu5.6 with Suhosin-Patch 0.9.6.2
- APC Advanced PHP Accelerator
- dickster Dual Quadcore Serverloft Server
- dedicated root server (kein suExec oder so)
Fehlerbeschreibung:
Prinzipiell funktioniert die Seite gut, nur bekommen wir gelegentlich die oben genannte Apache2 500 Internal Server error Fehlerseite. Gelegentlich bedeutet hier: In den letzten 4 Tagen ca. 120 mal bei ~200.000 page impressions.
Der Fehler tritt jeweils sofort auf. Soll heißen, wenn es passiert, lädt die Seite nicht lange rum, sondern gibt den Fehler so schnell wie einen 404er.
Der zugehörige Apache2 Error log Eintrag lässt auf ein Problem mit fcgid schließen:
Code:
[Tue May 12 11:35:54 2009] [warn] (104)Connection reset by peer: mod_fcgid: read data from fastcgi server error.
[Tue May 12 11:35:54 2009] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: index.php, referer: http://xxx/index.php
[Tue May 12 11:35:57 2009] [notice] mod_fcgid: process /var/www/current/index.php(10249) exit(communication error), terminated by calling exit(), return code: 0
Config Settings
fcgid:
Code:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
#IPCConnectTimeout 20
# The connect timeout to a fastcgi application.
IPCConnectTimeout 30
# IPCCommTimeout n (20 seconds)
# The communication timeout to a fastcgi application. Please increase this
# value if your CGI have a slow initialization or slow respond.
IPCCommTimeout 120
</IfModule>
Sonstige Apache Config (Auszug):
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_worker_module>
StartServers 2
MaxClients 175
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
<Directory /var/www/current/>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options ExecCGI -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
Evtl. relevante PHP config:
Code:
extension = apc.so
apc.enabled = 1
apc.shm_size = 48
apc.include_once_override = 1
apc.mmap_file_mask = /tmp/apc.XXXXXX
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (16MB)
Fehleranalyse
Die meisten Fehlerbeschreibungen, die ich gefunden habe gehen auf diesen Fehler ein, wenn fcgid überhaupt nicht funktioniert. Wie gesagt tritt der Fehler bei uns nur sehr selten auf.
Diese Quelle beschreibt mögliche Probleme mit flaschen End-of-line Charactern in den auszuführenden Skripten bzw. mit falschen Dateiberechtigungen. Wie gesagt bei uns eher nicht der Fall, da es sonst ja immer auftreten würde. (Habs natürlich außerdem überprüft).
Diese Quelle wiederrum argumentiert mit falschen Timeouts, welche wir auch erhöht haben. Der Umstand, dass der Fehler, wenn er auftritt, ohne jegliche Wartezeit angezeigt wird lässt mich auch daran Zweifeln, ob es Timeouts sind, die hier das Problem machen.
Ich meine irgendwo gelesen zu haben, dass evtl. abweichende Memory Einstellungen für PHP und fcgid Probleme machen könnten. Ich find aber unter diesen Stichworten leider nichts mehr in die Richtung.
Hat jemand Ideen?
Gruß,
christopher