Zum Inhalt springen

Fehlermeldung

Erstellt am 29. November 2005 · 10 Antworten · letzte Antwort am 2. Dezember 2005

Tags: Frage

DamonWilder ·

Bei der Installation von typo3 3.8.0 erhielt ich folgende Fehlermeldung:
Warning: exec() has been disabled for security reasons in www/htdocs/w0056e38/typo3/typo3/sysext/install/mod/class.tx_install.php on line 1894

Weiß jemand, was das bedeutet und wie man den Fehler beheben kann?

Dankend, Marcus

woida ·

Die Fehlermeldung sagt, daß die Funktion exec() deaktiviert ist. Das ganze ist kein Fehler sondern kann in der php.ini unter "safe_mode" bzw. "disable_functions" eingestellt werden.

DamonWilder ·

Ok, zunächst erstmal Dank für den Hinweis. Ein Blick in meine phpinfo zeigte mir, dass der SafeMode off ist und damit auch die Funktion exec() außer Kraft gesetzt wurde. Das erklärt vielleicht auch, warum ich ImageMagick nicht installieren kann.

Aber wie setze ich nun den SafeMode on? Kann ich das überhaupt oder nur mein Provider? Ist das aus Sicherheitsgründen überhaupt sinnvoll und kann ich auch nur die exec()-Funktion allein aktivieren?

Tut mir leid, wenn ich hier enorm blöde Fragen stelle, aber ich habe wirklich schon viel herumgesucht und selbst bin ich wahrscheinlich einfach zu blöd :-)

woida ·

Da ich nicht weiß, bei welchem Provider du welches Paket hast, kann ich dir auch nicht sagen, ob und dann wo du den Safe Mode ausschalten kannst.

Es gibt dabei 2 Möglichkeiten: Entweder über die php.ini, die abhängig von der eingesetzten Distribution irgendwo im Dateisystem liegt, oder falls du keinen Zugriff hats, evtl. (abhängig von den Einstellungen deines Providers) über die htaccess.

Das IM nicht läuft, liegt auch am Safe-Mode, bzw. an der nicht erlaubten exec() Funktion.

Wie stellt man ihn nun aus? Wenn du dir den Link anschaust, siehst du, daß du in der php.ini nur

safe_mode = Off

setzen mußt (Ist ja auch irgendwie intuitiv?!).

Willst du den Safe Mode über die htaccess abschalten, mußt du halt googlen. Die Einstellung hab ich jetzt nicht parat.

DamonWilder ·

Hallo woida,

also ich habe meinen Server bei all-inkl.com mit PHP Version 4.4.1 und welche Zugriffe ich habe, weiß ich gar nicht. Nur soviel: mein SafeMode = off (?!) Ich dachte, deshalb würde die Funktion exec() nicht funktionieren und ich müßte den SafeMode = on stellen?

woida ·

Nein, wenn der Safe Mode aus ist, dann ists schon in Ordnung. Probleme hast du, wenn er an ist, dann werden Funktionen gesperrt.
Schau mal, was im phpinfo unter "disable_functions" steht.

DamonWilder ·

Also: SafeMode = off, aber folgende Funktionen sind disabled:
disable_functions exec,system,passthru,shell_exec,popen,escapeshellcmd,proc_open,proc_nice

Also auch die exec()

Wie kann ich die denn jetzt aktivieren?

woida ·

Ich weiß nicht, wie AllInk seine Server konfiguriert. Wende dich an den Support, die sagen dir dann auch, obs überhaupt erlaubt ist, die exec du aktivieren.

DamonWilder ·

Hallo woida und andere,

nachdem ich den Support kontaktierte, wurde mir folgendes mitgeteilt:
"da PHP als Apache-Modul läuft sind Befehle wie exec() oder system() aus Sicherheitsgründen deaktiviert. Wenn Sie diese dennoch verwenden wollen oder müssen, ist es nötig PHP als CGI laufen zu lassen. Das erreichen Sie in dem Sie eine .htaccess-Datei erstellen mit folgendem Inhalt: "AddHandler php-fastcgi .php .php4". Diese Datei laden Sie ins Root-Verzeichnis, dann sollte alles funktionieren."

Das hat funktioniert und mein Problem bei der Installation von ImageMagick war damit auch gelöst.

Danke an woida für die sachdienlichen Hinweise.