[PHP] mod_php bringt Apache-Child zum Absturz, mod_suphp geht

Status
Not open for further replies.

hoffie

Registered User
Huhu,
ich hab in letzter Zeit ein seltsames Problem:
Ich hab bisher PHP als CGI per suPHP laufen lassen (zum einen wg. Sicherheit, zum anderen weil ich Dateien/Ordner, die ich per PHP bearbeiten wollte, nicht world-writeable machen wollte). Nun will ich aber aus Performancegründen (mod_php ist um einiges schneller; eaccelerator läuft nicht mit der CGI-Version) auf mod_php umstellen. Dabei ergibt sich aber folgendes Problem: Die Apache Childs stürzen beim Aufruf von bestimmten PHP-Dateien einfach mit einem 'Segmention Fault' ab.
Bisher konnte ich nicht genau rausfinden, unter welchen Umständen es auftritt -- was die abstürzenden Dateien alle gemeinsam haben ist bisher nur, dass sie alle Klassen/Objekte benutzen und sehr groß sind bzw. viele includes/requires nutzen.

Infos:
Apache: 2.0.54; ./configure --enable-rewrite --enable-dav --with-mpm=prefork
PHP: 5.0.4; ./configure --with-mysql --with-gd --with-jpeg-dir --with-ttf-dir --with-zlib --enable-debug --with-apxs2=/usr/local/apache2/bin/apxs
Linux 217-20-118-221.internetserviceteam.com 2.4.25.2 #1 SMP Wed Feb 18 18:36:19 CET 2004 i686 unknown

Lies sich alles fehlerfrei konfigurieren/kompilieren/installieren. Wurde auch bereits beides (nach distclean) neugebaut.
Das Apache-Error-Log sagt leider nicht viel:
Code:
[Fri May 27 00:27:14 2005] [notice] child pid 27040 exit signal Segmentation fault (11)
[Fri May 27 00:27:15 2005] [notice] child pid 27041 exit signal Segmentation fault (11)
[...]
Bei einem strace des Childs (nur der letzte Teil, vorher seh ich auf Anhieb keine Fehler):
Code:
open("/proc/cpuinfo", O_RDONLY)         = 67
fstat64(67, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4076f000
read(67, "processor\t: 0\nvendor_id\t: Genuin"..., 4096) = 382
read(67, "", 4096)                      = 0
close(67)                               = 0
munmap(0x4076f000, 4096)                = 0
--- SIGSEGV (Segmentation fault) ---
In /var/log/messages steht nichts besonderes, andere hilfreiche Logs fallen mir grad nicht ein...
Falls die php.ini noch wichtig sein sollte: http://testing.hoffie.info/php.ini
In Apache wird selbstverständlich nur ein PHP-Modul geladen und suphp war währenddessen deaktiviert.
Die Infos sind von heute Nacht, atm läuft das ganze wieder per suphp.

Wär nett, wenn sich das jemand mal anschauen könnte. ;)
Danke.
 
Last edited by a moderator:
Problem gelöst, fragt mich nicht, an was es lag. Ich hab heute Debian woody auf Sarge geupgraded und den Kernel aktualisiert. Deswegen auch 2 Reboots. Eins von den Dingen hat das Problem anscheinend gelöst. :)
Kann geschlossen werden.
 
Status
Not open for further replies.
Back
Top