Zum Inhalt springen

ImageMagick und safe_mode ON - es will einfach nicht

Erstellt am 24. Mai 2004 · 1 Antwort · letzte Antwort am 28. Mai 2004

Tags: Bilder, Frage

yankee-lima ·

Tja, Leuts, trotz zahlreicher Forenbeiträge zu diesem dämlichen ImageMagick-Problem unter dem Safe-Mode kann ich nun nach mehrtägiger erfolgloser Fehlersuche nur noch mein Problem hier zu den zahlreichen anderen Problemen posten:

- Webhosting bei Fremdprovider
- Confixx
- Safe-Mode=ON
- Provider hat die statische IM-Version auf Verzeichnis /home/www/empty gespielt (die 4 benötigten Dateien) und Rechte auf 777 gesetzt

ImageMagick wird im install-Tool trotz der korrekten Pfadangabe (mit "/" am Schluss) einfach nicht erkannt :-(

Hab den Provider nun schon genug genervt, so langsam ist mir die Sache peinlich. Muss evtl. das "empty"-Verzeichnis auch noch 777-Rechte besitzen?

Weiss noch jemand Rat? 10000 Dank

Gruß & Servus
Fil

GrafZahl ·

Hallo Fil!
Ich befürchte das wird schwierig mit einem shared webhosting-paket.
Das Problem bei imageMagick ist (vereinfacht ausgedrückt), daß es eine Sammlung von Kommandozeilenprogrammen ist. Da php im Safe-Mode das Ausführen von Kommandozeilen-programmen verbietet (shutdown ist auch ein solches Programm, und wenn jeder bösartige Skript-Autor den Server einfach runterfahren könnte... :o ) erkennt Deine Typo3-Installation das ImageMagick nicht, egal in welchem Verzeichnis es liegt. Man muß dem Server also klar machen, bei dem Verzeichnis von ImageMagick eine Ausnahme zu machen.
Ich gehe davon aus, daß Dein Provider (oder Confixx?! Kenne Confixx überhaupt nicht gut :o ) virtuelle Server für jeden Kunden anlegt, die werden beim Apache-Server in der datei httpd.conf eingerichtet. Ich glaube mich zu erinnern, daß confixx in der httpd.conf eine eigene Datei einbindet, in der die virtuellen Kundenserver stehen.
Jedenfalls wird da folgendes drin stehen:

php_admin_flag safe_mode on

damit der Safe-Mode aktiv ist.
Damit der Server aber erlaubt, dennoch imageMagick zu nutzen, ist folgender Eintrag nötig:

php_admin_value safe_mode_exec_dir /home/www/empty/bin/

Das muß der absolute Pfad zu den drei-vier IM-Dateien sein (also nicht auf den Unterordner, wo die binaries drin liegen (!))

Wahrscheinlich ist es bei einem Shared-Hosting Paket, daß Dein Provider "open-basedirs" definiert hat. Das bedeutet, daß Du als User in einem Unterverzeichnis "eingeschlossen" bist. Also php keine Skripte oberhalb dieses Verzeichnisses ausführen kann. (Ist klar, sonst könnte jeder Nutzer auf dem Server die Skripte der anderen Kunden ausführen...)
Dazu gibt es auch einen Eintrag in der httpd.conf des Apachen (angenommen für Dein Verzeichnis /home/www/fil/ftp, also das Verzeichnis, in dem Du landest, wenn Du Dich mit Deinen FTP-Clienten verbindest):

php_admin_value open_basedir /home/www/fil/ftp/

Da Du mit dieser Restriktion aber nicht mehr auf das Verzeichnis mit dem Imagemagick zugreifen kannst, muß dieses Basedir erweitert werden:

php_admin_value open_basedir /home/www/fil/ftp/:/home/www/empty/

Das sind alles Einstellungen, die Dein Provider vornehmen muß. Wenn der sein Handwerk versteht, weiß er auch, was zu tun ist. Das mit den Rechten ist erst einmal fast egal. Denn typo3 findet die IM-Installation ja gar nicht. Die Rechte kommen erst ins Spiel, wenn Typo3 die Dateien ausführen soll...
Huch, der Beitrag ist nun ein wenig lang geworden, sorry. Aber ich hoffe,ich konnte Dir ein bisschen mit dem Verständnis helfen, was wie wo greift.
Liebe grüße,
der Graf