Zend Optimizer und ionCube Loader auf 1&1 Managed Server installieren
Veröffentlicht in Server am 23. Februar 2008 von Markus
27 Kommentare
Auf Facebook weitersagen
twittern
Die Vorzüge eines günstigen Managed Servers bezahlt man naturgemäß mit Unflexibilität in Bezug auf individuelle Konfiguration der Serverdienste. Wie sich dennoch die für viele Applikationen wichtigen Module Zend Optimizer bzw. ionCube Loader installieren lassen, zeige ich nachfolgend am Beispiel eines 1&1 Homepage Servers.
Ein Managed Server kombiniert die Leistungsfähigkeit eines eigenen Servers mit professioneller Wartung und 24/7-Überwachung durch einen externen Dienstleister. Sofern man sich nicht für einen Premiumserver mit ggf. individuellem Ansprechpartner entschieden hat, ist der Preis dafür im Normalfall Unflexibilität in Bezug auf die individuelle Konfiguration des Servers.
Dennoch sind für einige kommerzielle Applikationen Module notwendig, die so nicht in der Server-Standardkonfiguration des Providers enthalten sind. Im konkreten Fall benötigte ich zur Ausführung einer kommerziellen Applikation das Modul ionCube Loader zusammen mit dem Zend Add-On Zend Optimizer. Im Falle des Zend Optimizers werden beispielsweise mit Zend Guard geschützte PHP-Applikationen ausführbar gemacht. Zend Guard schützt Anwendungen vor Verfälschung, nicht autorisierter Modifizierung, nicht lizenzierter Nutzung und Weiterverbreitung. Zusätzlich optimiert das Modul die Ausführungsgeschwindigkeit von PHP-Applikationen.
Beide Extensions müssen normalerweise auf dem Server installiert und in der php.ini entsprechend aktiviert werden. Auf einem 1&1 Managed Server hat man jedoch keine Root-Rechte, daher fällt eine eigene Installation aus. Zudem kann man aus dem gleichen Grund auch nicht auf die globale php.ini zugreifen. Es gibt dennoch eine Methode beide Dienste zu installieren.
So funktioniert´s:
1. Zend Optimizer Paket besorgen
Zunächst organisiert man sich auf der Zend Website das aktuelle Zend Optimizer Paket: http://www.zend.com/de/products/guard/optimizer/
Hier ist eine kostenlose Registrierung erforderlich. Wichtig ist darauf zu achten die richtige Distribution zu wählen, zur Zeit ist es bei 1&1 die 32Bit Variante (ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz).
2. Extension installieren
Das Paket jetzt auf dem Desktop entpacken (z.B. mit WinRAR) und im Verzeichnis /data das Verzeichnis mit der richtigen “ZendOptimizer.so” wählen. Die Verzeichnisse sind nach PHP-Versionen sortiert. Wenn Sie nicht wissen welche PHP-Version auf dem Server installiert ist, können wir das mit einem einfachen Trick herausfinden. Dazu legt man auf dem Server ein neues Verzeichnis an und erstellt darin eine php-Datei “info.php” mit folgendem Inhalt:
phpinfo();
Jetzt im Browser diese Datei z.B. via “http://xxx.xxx.xx.xx/verzeichnis/info.php” aufrufen.
Es erscheint eine Liste mit der aktuellen Serverkonfiguration und ganz oben sollte die aktuelle PHP-Version stehen, bei 1&1 derzeit bei der Verwendung von PHP5 “PHP Version 5.2.6″.
Mit diesen Erkenntnissen wählen wir also die Datei “ZendOptimizer.so” aus dem Verzeichnis “5_2_x_comp” und kopieren sie auf den Server in ein weiteres, neues Verzeichnis, z.B. in /zend.
Um jetzt das Modul zu aktivieren, muss man eine eigene php.ini schreiben und zwar mit folgendem Inhalt:
zend_optimizer.optimization_level=15 zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so
Das Verzeichnis muss den absoluten Serverpfad zum Extension-File enthalten. Das Verzeichnis ist Serverindividuell, kann aber z.B. in der Shell durch Eingabe von “pwd” angezeigt werden.
Diese php.ini Datei muss jetzt in das Verzeichnis kopiert werden, in dem die ZendOptimizer Funktionalität bestehen soll.
Im Prinzip ist damit der Zend Optimizer installiert, aber ich will wie gesagt noch den ionCube Loader dazu haben.
Zur Installation des ionCube Loader Paketes ist ein ähnliches Vorgehen notwendig.
3. ionCube Loader Paket besorgen
Die aktuelle Version erhalten wir auf der ionCube-Website: http://www.ioncube.com/loaders.php. Hier wieder darauf achten, die richtige Versionn zu wählen, d.h. im Moment “Linux (x86)”.
Man erhält nach Download das File “ioncube_loaders_lin_x86.tar.gz”, welches wieder z.B. mit WinRAR entpackt werden muss. Darin finden sich verschiedene Versionen.
4. Extension installieren
Auch hier können wir mit einem einfach Trick herausfinden welches die richtige ist. Dazu einfach die im Archiv enthaltene Datei “ioncube-loader-helper.php” in das oben für die info.php Datei erstellte Verzeichnis kopieren.
Jetzt das File aufrufen z.B. mit
http://xxx.xxx.xx.xx/verzeichnis/ioncube-loader-helper.php
Dort lesen wir den den Satz “If you have permission to edit the php.ini configuration file for this server, please follow the php.ini installation instructions”.
Mit Klick auf den Link, erhält man unter “Required Loader” die Version, die der Server benötigt. Diese Datei entpacken wir jetzt und kopieren sie wieder auf den Server, z.B. in das Verzeichnis /zend, in das wir schon die “ZendOptimizer.so” kopiert haben. Gleichzeitig entnehmen wir dem Helper-File eine Zeile die jetzt wieder in die eigene php.ini übernommen werden muss, um das ionCube Modul zu aktivieren. Die neue, ergänze php.ini sollte jetzt also so aussehen:
zend_extension =/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ioncube_loader_lin_5.2.so zend_optimizer.optimization_level=15 zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so
Wichtig ist hier, dass die ionCube-Extension vor(!) den anderen beiden Einträgen erscheint.
Jetzt die php.ini wieder in das Verzeichnis schieben, indem die Funktionalität bestehen soll. That´s it!
5. Funktion prüfen
Wenn wir jetzt eine info.php in das Projektverzeichnis mit der php.ini legen und entsprechend aufrufen, sollte nach dem ersten Block folgende Info sichtbar sein:

Marcus sagt am 13. Februar 2009 um 06:30 Uhr
Hallo Markus,

1.000 Dank für diese geniale Anleitung.
Ich war alles haarklein durchgegangen – und es hat immer noch nicht funktioniert.
Irgendwann dann hat es “klick” gemacht:
ich Dummy hatte noch die “alte” php-Version!!!
Also fix eine Datei namens .htaccess erstellt, die Zeilen
## Umstellung auf php5
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
## Ende Umstellung
eingefügt, auf den Server geladen -und -YES!!!!
Nochmals Danke!!
Markus sagt am 15. Februar 2009 um 13:22 Uhr
Hi Marcus,
kein Thema, gerne – schön dass es geklappt hat
Torsten sagt am 10. März 2009 um 20:06 Uhr
Hallo zusammen, sehr gute Anleitung, wie man bei einem Managed-Server den ZendOptimizer installiert. Funktioniert dies auch mit der php-cli Version ? ..
PHP-Cli wird ja z.b. im Falle von Cronjobs über die Shell ausgeführt und hat wenig mit der apache-config zu tun.
Einer eine Idee ?
kai sagt am 16. März 2009 um 10:53 Uhr
Hallo Markus,
Super Anleitung, vielen Dank.
Patrick Pfeiffer sagt am 6. Juni 2009 um 17:03 Uhr
Hallo Markus,
echt super Anleitung. Habe dementsprechend nun installiert.
Allerdings kommt bei der installation von XT nun folgende Fehlermeldung:
Site error: the file /homepages/38/d287316490/htdocs/xtFramework/classes/class.filter.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.
Vielleicht könntest Du mir da weiterhelfen?!
LG und Danke im Voraus!!
Patrick Pfeiffer
Markus sagt am 21. Juni 2009 um 14:57 Uhr
Hi Patrick,
vielen Dank! Es sieht so aus, als ob bei Dir die Extension doch noch nicht richtig installiert wurde. Was sagte denn der die ioncube-loader-helper.php? Check Mal durch Aufruf der phpinfo (siehe oben), ob beide Extensions da sind.
Grüße,
Markus
Erwin Lissy sagt am 22. Juni 2009 um 18:26 Uhr
Hallo
nach stundenlangen Hangeln zwischen 1&1 support und XT.commerce dann doch noch der rettende Hinweis.
Die php.ini muß in jedem Directory vorhanden sein, welches auf ioncube zugreift, nicht nur in der root und im XTinstall
eventuell hilft’s dem Kollegen Patrick ja auch weiter.
viel erfolg
Erwin W. Lissy
Luca Di Giorgio sagt am 21. Juli 2009 um 08:01 Uhr
Thx fürs tutorial – sehr hilfreich
thomas sagt am 6. August 2009 um 15:36 Uhr
Hallo Markus,
merci erst mal für die klasse anleitung!
hab ziemlich wenig ahnung von server admin daher hab ich auch das managed paket von 1&1. daher auch meine frage: kann es sein, dass man ioncube nur für einzelne ordner und nicht für alle unterordner istallert?
bekomme bei domain/info.php die angezeigt das ioncube installiert ist und auf domain/admi/phpinfo.php steht das nicht mehr.
kennst du das problem oder hast du eine lösung?
merci schon mal
gruß
thomas
Markus sagt am 7. September 2009 um 14:16 Uhr
Hi Thomas,
was ich mir vorstellen könnte, wäre dass Du wie beschrieben in jedes Verzeichnis, das die entsprechende Funktionalität benötigt eine eigene php.ini kopieren musst. D.h. auch in /admin/.
Grüße,
Markus
Robert sagt am 22. Oktober 2009 um 17:35 Uhr
Hi Markus,
ich habe deine Anleitung mit Interesse gelesen, werde aber aus der Php.ini-Datei nicht schlau.
ich habe auch eine 1&1-Website: Homepage perfect und benötige ioncube.
ich habe alles genau so gemacht, wie du es gesagt hast. die optimalen zend-datei und ioncube in /zend geladen und will nun die php.ini-datei schreiben.
du hast geschrieben:
zend_optimizer.optimization_level=15
zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so
für zend-optimizer und für ioncube:
zend_extension =/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ioncube_loader_lin_5.2.so
zend_optimizer.optimization_level=15
zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so
meine zend- und iondatei findet man unter dem pfad http://www.partnerprogramm.wiegoldstaub.de/zend/die beiden so-dateien
muss ich jetzt /kunden/homepages/x/dxxxxxxxxx/htdocs föllig löschen und den eben auf geschriebenen pfad für /kunden/homepages/x/dxxxxxxxxx/htdocs ersetzen?
ich bin nicht der beste in sachen computer und vllt auch ein bischen schwer von begriff. können sie mir darauf bitte eine antwort geben?
vielen dank
robert
pat sagt am 16. Februar 2010 um 12:06 Uhr
Danke für die super Anleitung! Und auch danke für die Kommentare, habe auch einen Server bei 1&1 und der Support – naja da muss man ja echt ewig warten bis man mal eine Anwort bekommt und dank der Kommentare hier habe ich ioncube zum laufen gebracht indem ich php.ini in alle ordner kopiert hab. DANKE!!!
Und es wäre echt eine Verbesserung wenn 1&1 mal auf die Idee kommt es einfach Vorzuinstallieren, das erspart viel Zeit und Nerven.
Tatiana sagt am 7. Juni 2010 um 12:49 Uhr
Vielen Dank Markus, die Anleitung ist eine echte Hilfe! Ich habe Server bei 1&1 und eine FCM Template und telefoniere shon seit Tagen mit dem Support . 1und1 Support ist ein ordentlicher Reinfall.
Christian Pirker sagt am 28. Juni 2010 um 12:17 Uhr
Vielen Dank Markus für die Hinweise, allerdings habe ich ein aon Paket aon.at. Wie bekomme ich heraus welche Version benötigt wird, ich habe hier meine mail adresse hinterlassen bräuchte ganz dringen den Loader ioncube_loader_lin_5.2.so installiert.
Mir fehlt nur der richtige code für die php.ini damit er funktioniert der rest ist installiert. Bin leider schon seit Tagen Verzweifelt auf der Suche nach einer Lösung ich bitte um Anwort .
Markus sagt am 28. Juni 2010 um 22:57 Uhr
Danke für alle Kommentare – sollte es nach Studium des Posts noch Unklarheiten geben, einfach per Kommentar oder über das Formular melden!
Thorsten sagt am 10. Juli 2010 um 20:26 Uhr
Hi.
Habe alles mal so gemacht, wie in der Anleitung beschrieben. Leider komplett ohne Erfolg.
Er meldet mir immernoch, das der ionCube-Loader nicht installiert ist.
Die phpinfo sagt zu den relevanten Sachen folgendes:
Zend Loader enabled
Der sollte also schonmal funktionieren (hätte mich aber auch gewundert, da ich diesen für JomSocial eh brauche).
Noch jemand eine Idee?
Markus sagt am 5. August 2010 um 17:50 Uhr
Hi Thorsten,
hast Du ein paar mehr Infos für mich? Wie sieht denn Deine php.ini aus?
Grüße,
Markus
runterladen sagt am 9. März 2011 um 10:48 Uhr
Tja, Sachverhalte können so einfach sein! Danke
Chris sagt am 1. April 2011 um 05:12 Uhr
Danke, danke, danke für diese leicht verständliche Anleitung.
Markus sagt am 1. April 2011 um 09:23 Uhr
Gern geschehen!
Peter sagt am 9. April 2011 um 05:35 Uhr
Hallo Markus
ich habe alles genau so gemacht, wie Sie es aufgeschrieben haben.
zend_optimizer.optimization_level=15
zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so
meine zend iondatei findet man unter dem pfad
http://www.partnerprogramm.de/zend/
muss ich jetzt /kunden/homepages/x/dxxxxxxxxx/htdocs föllig löschen und den eben auf geschriebenen pfad für /kunden/homepages/x/dxxxxxxxxx/htdocs ersetzen?
BItte um eine Rückmeldung.
Peter
Peter sagt am 9. April 2011 um 05:49 Uhr
Antwort auf meine frage haha
hab ich gerade in Internet gefunen und es funktioniert !!!
1. Schritt: Laden Sie den Zend Optimizer (Linux x86 32 bit) unter >> http://www.zend.com/de/free_download/optimizer herunter (Hier müssen Sie sich zuerst registrieren/anmelden)
2. Schritt: Entpacken Sie die Datei auf Ihrem lokalen Rechner
3. Schritt: Wechseln Sie in das Hauptverzeichnis des Zend Optimizer und dort auf “data”. Sie finden dort einige Unterverzeichnisse, die nach PHP-Versionen benannt sind, z.B. 4_3_x_comp. Wichtig ist die Datei ZendOptimizer.so im entsprechenden Versionsordner. Laden Sie diese Datei mit Hilfe einer FTP-Software in ein Unterverzeichnis Ihrer Wahl auf Ihrem Webserver.
4. Schritt: Erstellen Sie nun eine Datei namens php.ini mit folgendem Inhalt:
zend_optimizer.optimization_level=15
zend_extension=/homepages/12/d1234567/htdocs/zend/ZendOptimizer.so
Bitte passen Sie hierbei den Pfad (/homepages/12/d1234567/htdocs/zend/ZendOptimizer.so) entsprechend an, Sie können diesen nicht genauso übernehmen. Den genauen Pfad zu Ihrem Hauptverzeichnis können Sie in Ihrem >> 1&1 Control-Center unter Domains
I auslesen, oder einfach indem Sie in der Shell
pwd
eingeben. Ergänzen Sie den Pfad evtl. um das entsprechende Unterverzeichnis.
Bitte beachten Sie:
Die php.ini gilt nur in dem Verzeichnis, in welchem sie abgelegt wurde. Benötigen Sie den ZendOptimizer in mehreren Unterverzeichnissen, kopieren Sie die php.ini entsprechend auch in diese Verzeichnisse.
WICHTIG !
Sie müssen sich bei 1und1.de unter 1&1 Control-Center unter Domains
einloggen und dann auf Domains klicken nur so bekommen Sie ihren genauen Pfad….
Lothar sagt am 2. Juni 2011 um 17:48 Uhr
Ich bin am verzweifeln.
ich möcht xt-commerce im 1&1 Dual Basic Paket installieren.klappt einfach nicht!
Ich lade xt-commerce in verzeichnis, dann parse ich die htacess-datei (im root verzeichnis), dann setze ich die rechte aller hochgeladenen dateien auf 777 (erst einmal – um sicherzustellen, dass keine gesperrte datei probleme bereitet), dann lade ich ioncube in der version Linux (x86) hoch und erstelle im nachgang php.ini datei mit notepad++ programm. in die datei schreibe ich pfad in der form rein:
zend_extension = /homepages/xx/xxxxxx/htdocs/shop1/ioncube/ioncube_loader_lin_5.2.so
ini lade ich im anschluss in hauptverzeichnis und in xtInstaller-Verzeichnis.
Dennoch bekomme ich folgende Fehlermeldung
Site error: the file /homepages/xx/xxxxxx/htdocs/shop1/index.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.
Was mache ich da falsch? Bin für Eure Hilfe echt dankbar!
Markus sagt am 3. Juni 2011 um 12:38 Uhr
Hallo Lothar,
erstmal müsstest Du bitte bei 1&1 klären, ob sich beim Dual basic Paket überhaupt via eigener php.ini Zusatzmodule installieren lassen?
Denn diese Anleitung bezieht sich auf einen 1&1 Managed Server.
Grüße,
Markus
Wolf sagt am 19. Oktober 2011 um 20:26 Uhr
Sehr geehrte Damen und Herren,
wir haben den Shop von XT commerce bestellt, und sind bei der Installation an unsere Grenzen gestoßen, auch hier fehlt die Datei php.ini, und wir können diese nirgends finden.
Haben Sie eine Idee ?
Vielen vielen Dank vorab
Markus sagt am 20. Oktober 2011 um 11:51 Uhr
Hallo!
Wenn Sie keine .ini Datei haben, können Sie einfach eine erstellen. Schreiben Sie darin
“zend_optimizer.optimization_level=15
zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so”
genau in dieser Reihenfolge und unter den oben im Post genannten Voraussetzungen , also
- Das Verzeichnis muss den absoluten Serverpfad zum Extension-File enthalten
und
- Diese php.ini Datei muss jetzt in das Verzeichnis kopiert werden, in dem die ZendOptimizer Funktionalität bestehen soll.
Funktioniert es?
Jenny North sagt am 5. Dezember 2011 um 13:16 Uhr
WOW, das habe ich mir sofort gebookmarkt
.