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, verschlüsseln diese gern. Dies betrifft im Oxid-Umfeld die Oxid-Shop-Ausgaben PE und EE (Professional und Enterprise Edition), je nachdem, ob das NDA unterzeichnet wurde. Die frei erhältliche und quelloffene Community Edition (CE) wird nicht verschlüsselt. Auch Module von Zahlungsanbietern werden gern verschlüsselt, um sie vor unsicheren Veränderungen zu schützen.

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.

Besuchen Sie nun die Website zend.com. Um das passende Modul für Ihre PHP-Version herunterladen zu können, benötigen Sie ein Benutzerkonto (kostenlos). Suchen Sie im Download-Bereich die Modulversion, die zu Ihrem Server und der verwendeten PHP-Version passt. Hier bekommen Sie ein ZIP-gepacktes Archiv. Kopieren Sie die zu Ihrem Webserver passende .so-Datei in das /ext-Verzeichnis Ihrer PHP-Installation.

Zend Optimizer installieren

Das Zend-Optimizer-Paket enthält gleich mehrere Versionen des Moduls; Sie müssen nur die zur PHP-Version passende Version des Optimizers installieren.

Kopieren Sie die Datei ZendOptimizer.so in das Verzeichnis /ext oder in ein anderes Verzeichnis, auf das lesend zugegriffen werden kann. Geeignet ist auch /opt (zum Beispiel /opt/ZendOptimizer. Wenn Sie ein Shared-Webhosting-Paket nutzen, ist kein Zugriff auf die Systemverzeichnisse des Servers möglich. In diesem Fall können Sie die .so-Datei auch in einem eigenen Verzeichnis, zum Beispiel /var/www/user200/files ablegen und Ihre benutzerdefinierte php.ini-Datei anpassen.

In der Datei php.ini muss jetzt der Verweis auf die Erweiterung eingetragen werden. Setzen Sie ganz unten Folgendes ein:

[Zend]
zend_extension=/opt/ZendOptimizer/ZendOptimizer.so

Der Pfad hinter dem Gleichheitszeichen muss dabei natürlich dem Pfad zur Datei ZendOptimizer.so entsprechen.

Zend Guard Loader installieren

Die Installation des Zend Guard Loaders verläuft analog zu der des Optimizers. Entpacken Sie das heruntergeladene Archiv und legen Sie die .so-Datei im /ext-Verzeichnis oder einem anderen geeigneten Pfad ab, zum Beispiel /opt. Der Verweis auf die Datei ZendGuardLoader.so wird so in die php.ini eingetragen:


[Zend Guard Loader]
zend_extension=/opt/ZendGuardLoader/ZendGuardLoader.so

Webserver neu starten

Damit PHP das neue Modul lädt, müssen Sie den Webserver neu starten. Dies geht unter Linux mit dem Befehl


# /etc/init.d/apache2 restart

In einigen Derivaten auch mit:

# /etc/init.d/httpd restart

Oder unter Windows via Apache Service Monitor oder dem Befehl

net stop apache2.2net start apache2.2

Wenn Sie jetzt noch einmal die PHP-Konfiguration mit phpinfo() prüfen, wird das jeweils geladene Modul im Abschnitt Zend Optimizer oder Zend Guard Loader.

image


2 Gedanken zu „Zend Guard Loader / Zend Optimizer – Was ist das? Wie wird er installiert?

  1. Pingback: Webhosting vs. eigener Server | eCommerce in Freiburg

  2. Pingback: Systemanforderungen von Oxid | Ackis Oxid-Blog

Kommentare sind geschlossen.