Felix Riesterer: Apache(win) restartet bei dieser regex

Liebe Selfer,

wenn ich auf meinem lokalen Apache2 in PHP4.3.4 diese Zeile ausführen lasse, dann restartet Apache und mein FF behauptet: "Das Dokument enthält keine Daten". Im Error-log steht genau:
[Thu Jan 06 16:36:35 2005] [notice] Parent: child process exited with status 128 -- Restarting.
[Thu Jan 06 16:36:36 2005] [notice] Parent: Created child process 1372
[Thu Jan 06 16:36:36 2005] [notice] Child 1372: Child process is running
[Thu Jan 06 16:36:36 2005] [notice] Child 1372: Acquired the start mutex.
[Thu Jan 06 16:36:36 2005] [notice] Child 1372: Starting 250 worker threads.

Hier der Script-Code:
$quelltext = preg_replace("/(?i)(^|[\r\n]|</h\d>|</ul>)((?:(?!<h\d)(?!<ul)(?:[^\r\n]))+)([\r\n]|<h\d|$)/", "\1<p>\2</p>\3", $quelltext);

Womit kommt der Apache denn nicht klar? Da diese regex-Sachen noch relativ neu für mich sind, wäre ich um Hilfe sehr dankbar.

Liebe Grüße aus Ellwangen,

Felix Riesterer.

  1. Liebe Selfer,

    bisherige Experimente brachten zu Tage, dass der Apache nur bei folgendem Pattern neu startet:

    ((?:(?!etwas).)*)

    Wenn ich das richtig gemacht habe, dann bedeutet das obige Pattern "nimm _ein_ Zeichen (der Punkt), das nicht der Anfang von 'etwas' ist (negativer lookahead mit '!?'); tue dies immer wieder (Sternchen) und merke dir diese Zeichen als Folge (große Klammer)!".

    Ist sowas verboten? Warum sollten denn Rekursionen dieser Art nicht erlaubt sein? Der Witz ist: An einer anderen Stelle habe ich dieses Pattern in einer Schleife, in der "etwas" durch eine Variablen ersetzt steht. In dieser Schleife klappt obiges Pattern sehr gut. Was ist los?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

  2. Liebe Selfer,

    ich habe jetzt auf den neuesten Apache und das neueste PHP geupgraded - keine Verbesserung.
    Das Verrückte daran ist, auf dem Webspace (Unix-OS) gibt es dieses Problem nicht. Das Script, das bei mir einen Server-Restart verursacht, funktioniert auf dem Webspace wunderbar... Ich verstehe es nicht.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

  3. Liebe Selfer,

    nicht nur mit neuestem Apache und PHP4.3.10, auch mit Zend Optimizer stürtzt mir der Apache ab und restartet sich selbst.

    Da mein Script auf dem Webspace läuft, bei mir lokal aber nicht, ist das extrem schlecht zu pflegen! :-(
    So ein Ärger!! Hat wer schonmal etwas Ähnliches erlebt?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.