Ein kleines Update ist heute veröffentlicht worden. Alle Änderungen sind im Release-Log aufgeführt.
Ich habe seit neustem auf meinem Windows x64 System ein Problem mit dem Zend Server CE (PHP 5.2) 5.6.0 und Typo3 Version 4.6.3. Mit Version 5.5 hat noch alles problemlos funktioniert. Ich weiß nicht, ob es an den “Security Enhancements” in PHP 5.3.9 liegt, aber der Login in den Backend-Bereich von Typo3 ist in dieser Umgebung nicht mehr möglich. Nach Absenden des Login-Formulars erschient eine Meldung ala “Wollen Sie die index.php Datei speichern oder öffnen…”. Darin ist ein 500-HTTP-Status-Code enthalten, jedoch erscheint in den Apache und PHP-Log-Dateien keinerlei Hinweis darauf. In der Ereignisanzeige von Windows sieht das ganz anders aus. Dort scheint die php-cgi.exe einen Fehler zu verursachen.
Ich werde das morgen mit der neuen Typo3-Version testen und auch Bilder und genaue Fehlermeldungen nachliefern.
Update
Eine Aktualisierung auf Typo3 4.6.4 brachte wie vermutet keinen Erfolg. Wie versprochen ein paar Details zu dem Fehler:
- Inhalt der Datei index.php
Nochmal als Text (damit Google das findet):
Name der fehlerhaften Anwendung: php-cgi.exe, Version: 5.3.9.0, Zeitstempel: 0x4ef33bca Name des fehlerhaften Moduls: php5.dll, Version: 5.3.9.0, Zeitstempel: 0x4ef33bc8 Ausnahmecode: 0xc0000005 Fehleroffset: 0x00092b20 ID des fehlerhaften Prozesses: 0xd1c Startzeit der fehlerhaften Anwendung: 0x01ccdb33ed105389 Pfad der fehlerhaften Anwendung: C:\Program Files (x86)\Zend\ZendServer\bin\php-cgi.exe Pfad des fehlerhaften Moduls: C:\Program Files (x86)\Zend\ZendServer\bin\php5.dll Berichtskennung: f2e4d78f-4728-11e1-bd4d-005056c00008
Fehlerbucket , Typ 0 Ereignisname: APPCRASH Antwort: Nicht verfügbar CAB-Datei-ID: 0 Problemsignatur: P1: php-cgi.exe P2: 5.3.9.0 P3: 4ef33bca P4: php5.dll P5: 5.3.9.0 P6: 4ef33bc8 P7: c0000005 P8: 00092b20 P9: P10:
Update 2:
Das Problem ist vorübergehend gelöst, indem man die Datei /typo3/contrib/RemoveXSS/RemoveXSS.php in der Größe verändert. Schuld daran ist ein PHP-Bug. Einen herzlichen Dank an Jürgen für den Tip (siehe Kommentare).





Wir haben exakt das gleiche Problem mit dem Zend Server 5.6 und Contao 2.11 RC2 (mit 2.10 klappts noch). Wir kommen auch nicht weiter. Wir sind aber sicher, dass ein Bug in dem PHP 5.3.9, das mit Zend zusammen ausgeliefert wird, besteht, da wir auch diese Exception in der Ereignisanzeige bekommen. Keine Ahnung, ob generell mit PHP 5.3.9 das Problem besteht, oder nur mit der bei Zend mitgelieferten Version, denn die Zend-PHP-Version ist am 2.1.2012 compiliert, während die aktuellste offizielle PHP 5.3.9 Version vom 10.1.2012 stammt. Womöglich ist der Bug da gefixt.
Ich konnte das Problem lösen. Scheinbar schlägt unter Umständen ein Bug zu, wenn eIn PHP Skript genau 8192 Bytes besitzt. Ich habe im entsprechenden Contao Skript (Template.php) manuell eine Zeile hinzugefügt, dann war das Problem verschwunden. Siehe: https://bugs.php.net/bug.php?id=48034
Ich kann das Verhalten unter Contao Version 2.11 R2 bestätigen. Sobald man die Größe der Datei \system\libraries\Template.php anpasst, funktioniert Contao wie gewohnt. Danke für den tollen Tip!
Das Typo3 Problem läßt sich damit übrigens auch lösen: Die Datei liegt im Verzeichnis /typo3/contrib/RemoveXSS/RemoveXSS.php. Einfach eine Zeile hinzufügen, damit die Datei größer als 8192 Bytes ist, dann funktioniert der Login wieder.
Dies hat das Problem bei uns auch behoben.
Eine Veränderung der Datei
/typo3/contrib/RemoveXSS/RemoveXSS.php
in etwa wie:
”
return $val;
}
}
//this is a dummy code line for fixing the bug with PHP 5.3.9
?>
”
fixt das Problem vorerst. Bleibt abzuwarten, ob dieser 8kbyte-Bug neue Angriffe erlaubt (Stapelüberlauf?)