In den nächsten Tagen werden wir auf allen Webservern ein Update von PHP 5.2.10 auf PHP 5.3.3 durchführen. Den genauen Termin werden wir nach dem Abschluss aller Vorbereitungen bekannt geben. Durch das Update ändert sich auf Anwenderseite im Großen und Ganzen nichts, da nur wenige neue Features eingeführt werden, alle bisherige Features jedoch weiterhin funktionieren.
Eine wichtige Änderung ergibt sich jedoch für Nutzer von sogenannten PHP-Acceleratoren wie dem ZendOptimizer oder ionCube. Diese dienen dazu, kodierte PHP-Skripte (z.B. von kommerziellen Online-Shops oder CMS) ausführen zu können. Auch Geschwindigkeitsvorteile durch die einmalige Umwandlung und spätere Wiederverwendung des gecachten Bytecodes von PHP-Skripten sind möglich.
Für Nutzer von ZendOptimizer:
Für PHP 5.3.x gibt es keinen ZendOptimizer mehr. Selbst zwei Jahre nach dem Erscheinen von PHP 5.3.x existiert lediglich eine Beta des ZendGuardLoader, dabei handelt es sich um den Nachfolger des ZendOptimizers. Der ZendGuardLoader ist leider nicht abwärtskompatibel, d.h. Software, die für den PHP 5.2.x ZendOptimizer kodiert wurde, lässt sich mit dem ZendGuardLoader unter PHP 5.3.x nicht starten. Die Hersteller der kodierten Software müssen die Skripte neu für PHP 5.3.x kodieren.
Der ZendGuardLoader wird von uns auf jedem Webserver bereitgestellt. Um ihn zu verwenden müssen Sie im Verzeichnis Ihrer PHP-Anwendung eine php.ini mit folgendem Inhalt anlegen:
zend_extension = /vrmd/webserver/php5/lib/ZendGuardLoader.so
Für Nutzer von ionCube:
Der momentan verfügbare ionCube Loader läuft zwar unter PHP 5.3.x, kann jedoch nur kodierte Skripte für PHP 5.2.x und früher ausführen. Der Support für PHP 5.3.x ist in Arbeit, in der Praxis ist dieses Manko kein Problem, weil es noch keine ionCube-kodierten Anwendungen für PHP 5.3.x gibt.
Der ionCube Loader wird von uns auf jedem Webserver bereitgestellt. Um ihn zu verwenden müssen Sie im Verzeichnis Ihrer PHP-Anwendung eine php.ini mit folgendem Inhalt anlegen:
zend_extension = /vrmd/webserver/php5/lib/ioncube_loader.so
Was ist zu tun?
Wir informieren alle Kunden per E-Mail, von denen wir anhand individuell eingerichteter php.ini-Dateien wissen, dass diese den ZendOptimizer nutzen. Die betroffenen Kunden sollten folgende Schritte durchführen:
1. Bitte prüfen Sie, ob Sie den ZendOptimizer tatsächlich nutzen. Wir haben festgestellt, dass viele Kunden den ZendOptimizer über eine Standard php.ini einbinden, ohne dass die PHP-Skripte davon Gebrauch machen. Das verlangsamt die Ausführung und oft enthalten diese Standard php.inis noch weitere Optionen, die für die aktuelle Anwendung wenig Nutzen haben. Es ist ratsam die php.ini umzubenennen und zu prüfen, ob die Anwendung weiterhin korrekt funktioniert. Zumindest Zeilen mit zend_extension.* und zend_optimizer.* sollten testweise entfernt werden.
2. Wenn Sie Anwendungen die für den ZendOptimizer unter PHP 5.2.x kodiert wurden nutzen, dann kontaktieren Sie bitte den Hersteller um eine neuere Version für den ZendGuardLoader und PHP 5.3.x zu erhalten. Falls eine Version für den ZendGuardLoader nicht zur Verfügung steht erkundigen Sie sich bitte nach einer Version im ionCube-Format, da dieses abwärtskompatibel ist.
Update: Die Akutalisierung auf PHP 5.3.3 konnte nicht wie geplant durchgeführt werden. Details dazu finden Sie hier.