Liebe Forumer,
endlich hab ich mal ein PHP-Problem, bei dem ich wirklich nicht mehr weiter weiss.
Auf einem Testserver entsteht bei einem bestimmten, reproduzierbaren Programmabschnitt das Problem auf, dass der PHP-Speicher ueberlaeuft. Er ist mit 32 MB pro Script (INI-Einstellung) eigentlich sehr grosszuegig dimensioniert. Komischerweise tritt das Problem in meiner lokalen Testumgebung nicht auf, obwohl ich dort ebenfalls 32 MB Memory Limit fuer PHP eingestellt habe. Es gibt in dem betreffenden Programmabschnitt auch keine nennenswerten Mega-Schleifen, die immer fetter werdende Variablen produzieren oder aehnliches. Das Code-Debugging mit var_dump-Ausgaben im betreffenden Programmteil hat einen einwandfreien Programmablauf gezeigt.
Auf dem Testserver, wo das Problem auftritt, ist PHP 4.2.2 installiert, auf meinem lokalen Rechner laeuft 4.2.3. In beiden Faellen wird PHP unter Apache ausgefuehrt. Auf dem Testserver allerdings unter Linux, bei mir lokal unter Win 2000. Beide Rechner stehen nicht unter Traffic-Last, auch der Testserver nicht. Auf dem Testserver habe ich den Vorgang mal mit laufendem top-Kommando ueberprueft und festgestellt, dass der betroffene Apache-Prozess auf ca. 100 MB anwaechst und dann haengen bleibt.
Die PHP-Anwendung arbeitet uebrigens mit Sessions und MySQL-Anbindung. Wenn ich die Sessiondatei des Prozesses, der den Fehler verursacht hat, auf dem Server loesche, ist das Problem auf dem Server beseitigt, d.h. PHP tuts wieder und die Anwendung auch.
Meine Frage ist daher, ob das Problem irgendwas mit den erzeugten Sessions (die Session-Dateien sind ca. 3-6 KB gross) zu tun haben koennte, und ob jemand von euch schon mal aehnliche Probleme hatte.
viele Gruesse
Stefan Muenz