Grenze von preg_match



  • Dieser Beitrag: http://www.c-plusplus.net/forum/viewtopic.php?t=43287&postdays=0&postorder=asc&highlight=pregmatch&start=0

    Dort habe ich das Problem gehabt, dass preg_match bei zu großen Teilausdrücken abstürzt.
    Jetzt gibt es schon das nächste: Kennt irgendjemand die Grenze, bei der das passiert?

    Ich brauche die genaue Grenze, ab der folgendes Pattern zum Absturz des php-Interpreters führt:

    #/\*((.|\n)*?)\*/#
    

    Zur Info:
    Das Pattern passt auf normale C-Kommentare.

    Ich suche schon länger mit Google (auch in den Groups), ohne Erfolg 😞
    Vielleicht hab ich einfach nicht die richtigen Suchwörter.



  • Es ist eindeutig zu spät. 🙄

    <?php
    $x = '';
    while (true)
    {
      $x .= ' ';
      $length = strlen($x);
      preg_match('#/\*((.|\n)*?)\*/#', '/*' . $x . '*/', $match);
      echo "$length\r\n";
    }
    ?>
    

    Dieses Skript liefert 2152 als maximale absturzfreie Länge. Kann das jemand mal auf einer anderen php-Version testen?
    Ich hab PHP/4.3.2 (Win32-Version).



  • Moin cd9000,

    bei mir stürzt es nicht ab, sondern wird ausgeführt, bis die maximale Ausführungszeit des Skriptes überschritten wird:

    Fatal error: Maximum execution time of 30 seconds exceeded in /usr/local/apache/htdocs/test/preg_match.php on line 7

    PHP: 4.2.2
    OS: SuSE Linux 8.2
    Webserver: Apache 1.3.12

    Vielleicht solltest Du Dich damit mal an die PHP-Mailingliste wenden. Das wird die sicher interessieren, falls das am preg_match() liegt.

    Nachtrag: Die letzte Ausgabe ist übrigens: 4589

    MfGr,
    mid



  • Unter Linux stürzt das bei mir auch nicht ab. Komisch 😕

    Ich habe SuSE 8.1.

    Ich geh jetzt einfach mal davon aus, dass jeder halbwegs gescheite Server nicht die Windows-Binary von php benutzt. 🕶


  • Mod

    cd9000 schrieb:

    Ich geh jetzt einfach mal davon aus, dass jeder halbwegs gescheite Server nicht die Windows-Binary von php benutzt. 🕶

    das kannst du ruhig machen.

    apache auf windows ist nicht gut und PHP und IIS ist käse.
    wie sollte man also PHP auf windows servern sinnvoll verwenden?


Anmelden zum Antworten