Wer nicht so auf dem Laufenden ist lese sich den folgenden Thread durch
http://forum.contenido.org/viewtopic.php?f=63&t=24032
EDIT 05.04.2010:
Da es weiterhin Anfragen zu Contenido unter PHP >= 5.3 gibt, hänge ich hier mal den momentanen Stand der Änderungen zur conlib an. Dies ist eine Beta und ich empfehle daher nicht den Einsatz in produktiven Umgebungen. Für Rückmeldungen sowohl von weiteren Bugs, aber auch wenn alles funktioniert, wären wir sehr dankbar!
Bevor ihr nun eine Installation von Contenido mit dieser PHP-Version macht, solltet ihr folgende Änderungen durchführen, die zwar nicht alle Probleme beseitigen, aber zumindest dafür sorgen, das ihr mit Contenido unter PHP 5.3 arbeiten könnt. Solltet Ihr danach weitere Fehlermeldungen in Contenido oder im Errorlog erhalten, so bitte ich diese hier zu Posten, damit das gefixt werden kann.
1. E_DEPRECATED
PHP 5.3 führt neue Errorlevel ein (E_DEPRECATED und E_USER_DEPRECATED). Dadurch, und durch als deprecated gekennzeichnete PHP-Funktionen (z.B. alle ereg-Funktionen), kommt es zu einem Wust an Fehlermeldungen in Contenido. Hier wäre sicherlich eine grundsätzliche Abschaltung dieser Meldungen während einer Übergangsphase sinnvoller gewesen (in der php.ini).
Da ein Austausch aller als deprecated gekennzeichneten Funktionen sehr aufwendig ist und daher gewiss noch einige Zeit in Anspruch nehmen wird, habe ich vorerst eine, auch abwärtskompatible, Lösung durch Änderung der Fehleranzeige in der contenido/includes/config.misc.php für euch.
Bitte in dieser Datei folgende Zeilen
Code: Alles auswählen
/* Report all errors except warnings */
error_reporting (E_ALL ^E_NOTICE);
Code: Alles auswählen
/* Report all errors except warnings */
/* fix for E_DEPRECATED using PHP >= 5.3 (Author: O. Pinke)*/
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
error_reporting (E_ALL ^E_NOTICE);
} else {
error_reporting (E_ALL ^E_NOTICE ^E_DEPRECATED);
}
2. PHPLib
Das die PHPLib schon etwas betagt ist, ist hinlänglich bekannt. Sicherlich wäre ein modernerer Abstraktionslayer wünschenswert, jedoch wäre auch das mit einem unverhältnismäßigem Aufwand verbunden, da doch sehr oft im Core ganz speziell auf die PHPLib zugegriffen wird und nicht nur eine neue DB-Abstraktion dies berücksichtigen müßte, oder man alle DB-Abfragen im Core prüfen und anpassen müßte.
Daher habe ich (zumindest) begonnen, Änderungen an der PHPLib einzuarbeiten, um diese so nach und nach fit für PHP >= 5.3 zu machen.
Bisher geänderte Dateien habe ich als conlib.zip angehängt. Bitte diese einfach ins Verzeichnis conlib kopieren.
Weiterhin habe ich eine Datei php53_ereg_todo.txt mit ins Archiv gepackt, die eine Liste aller von mir gefundenen Stellen der ereg-Funktionen beinhaltet. Hier könnte ich ein bisschen Unterstützung gebrauchen beim "Übersetzen" in preg-Funktionen.
Irgendwo ein RegEx-Profi da draussen?
Ok, soweit erst mal, bitte alle Infos rund um Contenido und PHP >= 5.3 hier in diesem Thread sammeln, danke.
Gruß aus Franken
Ortwin
Quellen:
Deprecated features in PHP 5.3.x (php.net)