Typo3 4.2.8 und PHP5.3 Kompatibilitäts-Patch

Heute hatte ich mal etwas Zeit über, und konnte mich einem weiteren kleinen Problem welches aus dem Upgrade auf PHP5.3 resultiert widmen. Einige Funktionen sind bei PHP5.3 nicht mehr verfügbar, oder werden mit PHP6.0 nicht mehr unterstüzt. Auf der php Webseite gibt es eine Liste aller veralteten Funktionen.

In Typo3 4.3.0alpha3 ist davon zwar Einiges, wenn nicht sogar Alles behoben, im aktuellen Stable 4.2.8 gibt es jedoch eine Menge Probleme, wenn man auf PHP5.3 umstellt. Deshalb hier der von mir erstellte Patch für typo3 4.2.8 mit PHP5.3

typo3-4.2.8-php5.3-compat-patch

Falls jemand wider Erwarten einen Fehler findet und mir mitteilt, so werde ich den neuen Patch ebenfalls hier veröffentlichen.

Einen komplett gepatchten source gibt es hier zum download, da viele User nicht wissen wie man mit patch umgeht:

http://www.netz-guru.de/wp-content/uploads/2009/07/typo3_src-4.2.8-compat-patched-php5.3.tgz

31 comments so far

hi ho,

danke für deine Mühe ;)
Habe folgende Fehler gefunden:
Zeile 639:
preg_mattch(‘/^insert[[:space:]]*into[[:space:]]*[`]?([[:alnum:]_]*)[`]?/i’,substr($lineContent,0,100),$reg)
“mattch” -> mit 2 “t”

Zeile 621:
if (!trim($statementArray[$statementArrayPointer]) || ($query_regex && !preg_match($query_regex,trim($stateme

Da fehlen Anfangs und End Delimiter?

“/” . $query_regex . “/”

Das ist das, was mir aufgefallen ist :)

MFG
Timo

Timo Huber
August 3rd, 2009 at 15:16

Danke, habe den Patch aktualisiert.

Florian Wiessner
August 3rd, 2009 at 15:34

Hallo

bitte entschuldige den “Doppelpost”, aber ich arbeite die Seite erstmal durch, und der Fehler viel eben nicht gleich ins Auge ;)

Zeile 1071:

list($theField,$palFields) = preg_split(‘\[|\]‘,$theFieldC);
Delimiter:
list($theField,$palFields) = preg_split(‘/\[|\]/’,$theFieldC);

Timo Huber
August 3rd, 2009 at 16:06

Ok, Danke, auch dies habe ich mit aktualisiert.

Florian Wiessner
August 4th, 2009 at 07:50

[...] Es gibt wohl einige Kompatibilitätsprobleme in Verbindung mit PHP 5.3, einen Kompatibilitätspatch gibts hier. [...]

Hallo,

kann jemand einem TYPO3-Anfänger verraten, wie man diesen Patch “installiert”? Das ganze ist eine txt-Datei und was mache ich jetzt damit?

Danke im Voraus
Joe-achim

Joachim Flascha
August 11th, 2009 at 16:24

Ja, das ist ein Patch – um diesen einzuspielen lädt man den typo3 4.2.8 source runter, entpackt diesen (normalerweise in typ3_src-4.2.8) und lädt den Patch herunter. Dann patcht man den Source mit patch -p0 http://gnuwin32.sourceforge.net/packages/patch.htm

Florian Wiessner
August 11th, 2009 at 16:40

Das war jetzt sehr anfängerfreundlich… ;)
Nein ich bin kein DAU aber ich habe sowas noch nie gemacht.
Das Kommando patch -p0 gibt man in der Windows-Konsole ein, richtig? Die Konsole muss man im bin Ordner (da wo die patch.exe ist) ausführen, richtig? Packt man in den bin Ordner auch den Inhalt von typo3_src-4.2.8 ? Deine Patch.txt – Datei müsste aber auch in diesem Kommando vorkommen und nicht nur patch -p0, oder? Sorry aber englisch ist nicht gerade meine Stärke…

Joachim Flascha
August 11th, 2009 at 18:30

das “< " (<) zeichen hat wordpress unterschlagen, genauso wie den inhalt dahinter... am einfachsten ist, du kuckst mal bei der wikipedia vorbei:

http://de.wikipedia.org/wiki/Patch_%28Unix%29

oder hier:
http://www.voehringer.net/wiki/index.php/Howto:_Patch_-_Patch_erstellen_und_einspielen

Florian Wiessner
August 11th, 2009 at 18:37

Na, damit kann ich schon etwas anfangen. :)
Danke dir.

Joachim Flascha
August 11th, 2009 at 18:47

Vielen dank für den Patch.
Leider hat er mein ursprüngliches Problem mit TemplaVoila nicht gelöst … da werde ich mal ans debuggen gehen

George
August 19th, 2009 at 12:25

Hallo und danke für den Patch.
Leider habe ich immer noch das Problem, dass mein Typo3 4.2.8 mit PHP 5.3.0 nur leere Seiten ausgibt (HEAD ist ok, BODY ist leer). Mit einem identisch compilierten PHP 5.2.9 funktioniert alles. Die error-logs enthalten keine Einträge. Irgendwelche Ideen?
Danke!

Ulf
August 19th, 2009 at 12:26

Hast Du mal $TYPO3_CONF_VARS['SYS']['displayErrors'] = ‘1′; in der localconf.php gesetzt? Kommen dann Fehlermeldungen?

Florian Wiessner
August 19th, 2009 at 13:11

Ich kenne TemplaVoila nicht so gut – welches Problem gibt es da denn?

Florian Wiessner
August 19th, 2009 at 13:12

Hallo Florian,

ich glaube, ich habe auch noch einen Fehler im Patch gefunden, und zwar in typo3/sysext/install/mod/class.tx_install.php in folgender Zeile:

if (strlen($subdir) && !preg_match(‘^/[[:alnum:]_]+\/$/’,$subdir)) …..

Ich vermute, dass ^ und / am Anfang der PCRE vertauscht werden müssten.

Gruß, Ulf.

Ulf
August 19th, 2009 at 13:14

Yo, stimmt. Danke, ist gefixt.

Florian Wiessner
August 19th, 2009 at 13:34

Hallo,

leider habe ich keine Ahnung von Unix und will eigentlich nur Typo3 mit Xampp, das ja momentan mit php 5.3 arbeitet, zum Laufen bringen. Deinen patch kann ich wahrscheinlich auf meiner Windows Kiste gar nicht hernehmen oder? D.h. warten auf ne Typo3 Version, die`s mit php 5.3 kann oder downgraden auf php 5.2.9 oder?

Gruß
Duffy

Duffy
August 20th, 2009 at 14:03

Ich habe Dir mal eben schnell die gepatchte Version hochgeladen: http://www.netz-guru.de/wp-content/uploads/2009/07/typo3_src-4.2.8-compat-patched-php5.3.tgz

Florian Wiessner
August 20th, 2009 at 14:18

Mensch Florian, das ist echt super nett :-)
Vielen Dank!
Gruß
Duffy

Duffy
August 20th, 2009 at 15:39

ach ja, ich vergaß zu erwähnen, dass Florians gepatchtes Typo3 natürlich jetzt einwandfrei funktioniert, klasse!

Duffy
August 20th, 2009 at 15:46

[...] [...]

Php 5.3 - TYPO3 Forum & Portal
August 31st, 2009 at 09:24

ich hab hier auch ein PHP 5.3 und TYPO3 4.2.8. Die gepachten Sourcen hab ich hochgeladen, Berechtigungen stimmen, an Fehlermeldungen nur date-Warnings und trotzdem leere Seiten (FE und auch BE). Alle Ext sind deaktiviert (ursprüngliche extList von der initialen Installtion).

Bitte, mir sind die Ideen ausgegangen, kann mir jemand helfen?

Anja
September 16th, 2009 at 15:53

[...] [...]

wegen den Date-Warnings hilft date_default_timezone_set(“Europe/Berlin”);
in der localconf.php als erste Zeile. Zu dem Problem mit den weissen Seiten kann ich leider nichts sagen, verwende selbst kein TV.

Florian Wiessner
September 17th, 2009 at 12:50

Hallo!

Ich habe das komplett gepatchte Source-Archiv verwendet. Habe zuerst Typo3 v.4.2.9 installiert (keine Verbesserung zur ungepatchten v.4.2.8) unter PHP v.5.3.

Danke und weiterhin gutes Gelingen.

MfG Benjamin

Benjamin
October 1st, 2009 at 11:33

Was heisst hier keine Verbesserung? Die “depracted function xxx..” Fehlermeldungen sollten weg sein…

Florian Wiessner
October 1st, 2009 at 11:40

Hallo.

Habe mich vielleicht etwas unverständlich ausgedrückt!

Bei Version 4.2.9 hatte ich dieselben Probleme wie mit 4.2.8!
Dachte dass hier von Typo3 Seite her vielleicht schon etwas geändert wurde, was sich aber als ein Irrtum herausstellte.

Mit der gepatchten Version funktioniert bisweilen alles sehr gut, danke !!

Benjamin
October 5th, 2009 at 22:18

Hi Florian,

erstmal vielen dank für das patch!
Leider hab ich ne Anfängerfrage: ich hab dein gepatchtes Paket runtergeladen und in einen ordner in xampp kopiert, aber wenn ich dann die index.php aufruf kommt folgende Meldung:
Cannot find configuration. This file is probably executed from the wrong location.
Kannst mich da auf den richtigen Weg bringen, was mach ich falsch?
Vielen Dank!
Marcus

Marcus
October 17th, 2009 at 22:40

Da fehlt Dir wohl das Dummy-Package… Lies bitte die Doku auf typo3.org. Danke.

Florian Wiessner
October 18th, 2009 at 15:15

Hallo Florian,

danke für die info, dachte/hoffte die wär schon drin, da mich das dummy package wegen doppelt vorhandener index.php irritiert hat. Jetzt hat’s funktioniert und läuft auf XAMPP. Bin gespannt :-)

Danke
Marcus

Marcus
October 19th, 2009 at 13:24

hallo florian,
der patch funktioniert perfekt!!!
saubere arbeit. danke!

lukas
November 3rd, 2009 at 20:37

Leave a Comment

Name (required)

Mail (will not be published) (required)

Website

Comment