Ich habe jetzt das PayPal Modul zum Laufen bekommen und werde beschreiben, was man machen muss, damit das klappt. Diese Anleitung ist für Mac OS X 10.8.2 Server auf Apple Macintosh Rechnern gedacht.
Hintergrund:
Unter Mac OS 10.8 Mountain Lion Server gibt es keine 32 Bit Apache Version mehr, demzufolge auch kein 32 Bit PHP. Im Download-Bereich von ZEND gibt es unter der Rubrik ZEND-Guard Loader (Version 5.5.0 für PHP 5.3) nur eine Version für Mac OS X, die 32 Bit aber nicht 64 Bit unterstützt. Diese Version ist maximal für Mac OS X 10.6.8 geeignet. Für Linux gibt es dagegen eine Version alternativ für 32 Bit oder für 64 Bit, für den Mac leider nicht.
Im Download-Bereich von ZEND gibt es aber unter der Rubrik ZEND-Server alles, was man als Macintosh-Anwender für den 64 Bit Betrieb benötigt:
http://www.zend.com/de/products/server/downloads
Dort findet sich die Version 6.0.0 die für Mac OS X 10.8.2 Mountain Lion Server zertifiziert ist. Diese Version ist 64 Bit Clean. Es gibt eine Version für PHP 5.3 und eine Version für PHP 5.4. Wir benötigen die Version für PHP 5.3.
Installation:
Man lade sich die Zend Server (PHP 5.3) v6.0.0 als Image (.dmg) Datei. Nach der Installation vergibt man für “admin” und “developer” ein Passwort, das man sich selbst aussuchen kann. Sinnvollerweise nimmt man hierfür das Passwort, das der normale “admin” bzw. “root” Benutzer im Mac OS X bereits hat, um Verwechselungen vorzubeugen.
Sobald man angemeldet ist, wird man ersteinmal von den Menüs erschlagen, aber es ist alles halb so wild. Die Meldung, dass die Version nach 7 Tagen ausläuft, kann man getrost ignorieren, da dies Funktionen betrifft, die wir für diese Installation nicht benötigen. Es wird danach gefragt, ob man für “developer” oder für “production” optimieren möchte. Hier wählt man “production”.
Danach muss die PHP.ini angepasst werden. Hierzu fügt man am Ende der PHP.ini, die sich im Ordner /etc/ befindet, folgende Zeilen an:
[Zend]
zend_extension=/usr/local/zend/lib/ZendExtensionManager.so
zend.install_dir=/usr/local/zend
; The dir all configuration files are stored in.
zend.conf_dir=/usr/local/zend/etc
zend.ini_scandir=conf.d
zend.node_id=0
zf2_path=/usr/local/zend/share/ZendFramework2/library
Den /etc/-Ordner öffnet man, indem man im Finder Cmd-Shift-G drückt und /etc/ eingibt. Danach sieht man die PHP.ini Datei in der Liste. Diese Datei ist normalerweise schreibgeschützt. Um sie ändern zu können müssen vorher die Berechtigungen für die Datei angepasst werden. Dann kann man die mit TextEdit öffnen und bearbeiten.
Nachdem die PHP.ini erfolgreich geändert wurde, muss man noch ein paar Einstellungen im ZendServer vornehmen. Dieser befindet sich im Programme-Ordner. Es macht Sinn, den ZendServer ins Dock zu ziehen, da der später ggf. noch benötigt wird.
Im ZendServer geht man dann nach erfolgreicher Anmeldung als “admin” auf das Menü “configuration” und klickt alle Checkboxen an bis auf “Zend Guard Loader”. Danach klickt man oben auf den Button “Disable”. Danach muss der Server einmal neu gestartet werden. Hier ist es wichtig, nicht nur den PHP-Server sondern auch den Web-Server neu zu starten. Dazu als Erstes auf das Kreis-Pfeil-Symbol rechts neben dem Warndreieck klicken, dann im Apple Server Programm (Weltkugel) den Webserver einmal stoppen und wieder starten.
Die Konfiguration im ZendServer sollte dann ausehen wie beim pict01.
Dann noch dem tmp-Ordner leeren und prüfen, ob man alles richtig gemacht hat. Hierzu loggt man sich als admin ins Shop-Backend ein und geht unter “Sevice” auf “Systeminfo”. Ganz am Ende des PHP-Blocks sieht man den “Zend Engine 2” Block. Hier muss folgender Text stehen:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright © 1998-2012 Zend Technologies
with Zend Extension Manager v6.0.0, Copyright © 2003-2013, by Zend Technologies
- with Zend Guard Loader v3.3, Copyright © 1998-2010, by Zend Technologies [loaded] [licensed] [enabled]
- with Zend Utils v6.0.0, Copyright © 2004-2013, by Zend Technologies [loaded] [licensed] [enabled]
Wenn lediglich die Zend-Engine und nicht der Zend Extension Manager angezeigt wird, dann hat man die PHP.ini nicht richtig ergänzt.
Wenn man plötzlich beim Aufrufen des Shop-Backends eine weiße Seite und sonst nichts mehr sieht, dann sind in der ZendServer-Konfiguration noch Optionen ausgewählt, die wir nicht benutzen wollen. Siehe pict01.
Dann installiert man das PayPal Modul, bitte die Version 2.0.4 nehmen, die Version 2.0.3 hat Fehler und steht daher unter Oxid Exchange auch nicht mehr als Download zur Verfügung.
Nach der Installation des PayPal Moduls und der “check_system_requirements.php” im Hauptverzeichnis des Shops, rufen Sie Ihren Shop mit dem Zusatz “check_system_requirements” auf, also “http://www.shop.de/check_system_requirements”. Danach sollten Sie folgende Meldung sehen können:
Teste, ob Decoder für PHP installiert ist. OK Ein passender Decoder für PHP 5.3 ist vorhanden.
Teste ob CURL installiert ist. OK
Teste ob OpenSSL installiert ist. OK
Teste ob SOAP installiert ist. OK
Glückwunsch. Die Systemvoraussetzungen sind erfüllt. Sie können das PayPal Modul installieren.
Danach können Sie die “check_system_requirements.php” wieder löschen und loggen sich im Shop-Backend ein, wo Sie das PayPal Modul aktivieren.
Das sollte dann klappen.
Hier noch ein paar Tipps zur Fehlersuche, falls es doch nicht geklappt hat:
-
Wenn Sie eine seitenfüllende ZEND-Fehlermeldung sehen, dann ist der ZEND-Server nicht richtig installiert bzw. die PHP.ini nicht richtig angepasst worden. Um den Shop bei einer seitenfüllenden ZEND-Fehlermeldung wieder benutzen zu können, müssen Sie den Ordner “oe” aus dem Module-Ordner entfernen (z.B. via FTP).
-
Wenn Sie einen weißen Bildschirm sehen, ist die Konfiguration im ZEND-Server nicht wie im Screenshot angezeigt vorgenommen worden. Das mit dem weißen Bildschirm passiert auch, wenn man versucht, den “ZendOptimizerPlus.so” anstelle des “ZendExtensionManager.so” einbinden zu wollen. Das ist in einigen Foren leider falsch beschrieben. Stellen Sie sicher, dass Ihre PHP.ini nur die oben angegebenen ZEND-Befehlszeilen enthält und nicht irgendwelche “Versuche”, die woanders beschrieben wurden. Das mit dem weißen Bildschirm ist übrigens kein Macintosh-Problem, sondern tritt auh bei Linux exakt genau so auf, also Vorsicht.
-
Wenn Sie nicht die seitenfüllende ZEND-Fehlermeldung sehen, sondern eine kleine Fehlermeldung mit dem Text:
Fatal error: Incompatible file format: The encoded file has format major ID 3, whereas the Loader expects 4 in/Library/Server/Web/Data/Sites/Oxid_Shop/modules/oe/oepaypal/core/oepaypalevents.php on line 0
Dann haben Sie das PayPal Modul in der Version 2.0.3 versucht zu installieren oder aber das PayPal Modul in der PHP 5.2-Variante installiert. Hier müssen Sie dann das PayPal Modul neu downloaden und die Installation des PayPal Moduls (z.B. via FTP) wiederholen.