Symfony 1.4 mit veralteten Funktionen in PHP 5.5

Ich habe kürzlich PHP von Version 5.3.27 auf 5.5.0 aktualisiert. In meinem Symfony 2.3.2-Projekt funktioniert alles einwandfrei und ich kann die neuesten PHP-Funktionen nutzen.

Wenn ich jetzt zu meinem anderen Symfony 1.4.16-Projekt zurückkehre, erhalte ich einen PHP-Fehler, weil preg_replace mit dem Modifikator / e veraltet ist.

Ich kann im Forum keinen Hinweis auf diesen Fehler finden: Hat jemand dieses Problem schon einmal gehabt? Gibt es irgendeine Art von Patch, den ich sofort anwenden könnte? Wird ein Upgrade auf Symfony 1.4.20 dieses Problem beheben?

Die Fehlermeldung sieht folgendermaßen aus:

Veraltet: preg_replace (): Der Modifikator / e ist veraltet. Verwenden Sie stattdessen preg_replace_callback in /myproject/lib/vendor/symfony/lib/response/sfWebResponse.class.php in Zeile 409

Eine Möglichkeit besteht darin, den Code wie in der Nachricht und in der Nachricht empfohlen zu ändernHandbuch. Wie kann ich meinen preg_replace-Ausdruck in einen preg_replace_callback-Aufruf ändern?

Jede Hilfe / Hinweis wird sehr willkommen sein.

BEARBEITEN:

Bis jetzt gibt es keinen Patch dafür (und Symfony 1.4.20 behebt das Problem nicht). Die Lösung besteht darin, fehlgeschlagene Aufrufe von preg_replace durch entsprechende Aufrufe von preg_replace_callback in der Quelle zu ersetzen, was in der Klasse sfWebResponse leicht möglich ist (danke für den Hinweis Jon). Jetztnächstes Mal fehlgeschlagen ist leider etwas komplexer ... Und andererseits müssten wir wahrscheinlich nach preg_replace-Verwendungen mit der Option / e suchen, um herauszufinden, wo Symfony wahrscheinlich kaputt geht. Was einige Ergebnisse liefert: o

Also ... Mein Fazit wäre, dass Symfony 1.4-Benutzer PHP nicht auf Version 5.5 aktualisieren sollten, bis ein ernsthafter Patch herauskommt. Was denkst du ? Irgendeine Alternative?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage