Zend Guard Loader / Zend Optimizer – Was ist das? Wie wird er installiert?


Die Daseinsberechtigung des Zend Guard Loaders beziehungsweise des Zend Optimizers liegt darin, dass herkömmlicher PHP-Code im Klartext lesbar ist – jeder könnte ihn einfach verändern oder ungefragt weiter verbreiten.

Hersteller kostenpflichtiger PHP-basierter Software oder auch von Software, die im Rahmen von Support- und Wartungsverträgen nicht durch den Nutzer verändert werden soll, wird von ihren Herausgebern gerne verschlüsselt. Dies betrifft im Oxid-Umfeld die Oxid-Shop-Ausgaben PE und EE (Professional und Enterprise Edition). Die frei erhältliche und quelloffene Community Edition (CE) wird nicht verschlüsselt.

Was sind Zend Guard Loader und Zend Optimizer?

Zend Optimizer war bis PHP 5.2, Zend Guard Loader ist seit PHP 5.3 das PHP-Modul, das es erst ermöglicht, verschlüsselten PHP-Quellcode zu verwenden. Vereinfacht erklärt läuft das so ab: Ein Entwickler möchte seinen Code schützen. Er füttert den Zend Guard mit seinem Skript und erhält eine daraus neue generierte Datei. Diese Datei enthält alle logischen Fähigkeiten des Skripts. Möchte man diese Datei auf einem Server mit PHP verwenden, benötigt PHP das passende Gegenstück, um sie wieder lesen zu können: Optimizer oder Guard Loader. Fehlt diese Erweiterung auf dem Server, gibt die Website lediglich


Zend Optimizer is not installed.

oder

Zend Guard Loader is not installed

aus. Wenn überhaupt: denn sobald die so verschlüsselten Dateien per include aufgerufen werden, gibt der Server nur noch einen Statuscode zurück: HTTP 500 – interner Serverfehler. Wie Sie dann die Ursache finden können, habe ich in diesem kleinen Artikel eräutert.

Übrigens: PHP-Code muss für Zend Optimizer oder Zend Guard Loader verschlüsselt worden sein – es ist nicht möglich, beispielsweise Dateien für PHP5.2/Zend Optimizer unter PHP5.3/Zend Guard Loader auszuführen.

Wie kann ich Zend Guard Loader oder Zend Optimizer installieren?

Als erstes müssen Sie wissen, welche PHP-Version Sie überhaupt einsetzen. Dies können Sie unter Zuhilfenahme des Befehls phpinfo() herausfinden. Notieren Sie sich auch gleich den hinter Loaded Configuration File angegebenen Pfad der Datei php.ini – diese müssen Sie nämlich auch noch bearbeiten. Weiterlesen