Christoph Schnauß: passthru(), system(), shell_exec funktionieren nicht..!?

Beitrag lesen

hallo,

Und der Hinweis "Cannot execute using backquotes in Safe Mode" deutet darauf hin, daß du noch irgendein Problem mit der korrekten Verwendung einiger Zeichen hast.
Das habe ich nicht kapiert. Welcher Zeichen denn?

Nun, ich habe dir den korrekten Link zur entsprechenden Handbuchseite angegeben - daher verzichte ich auf eine Wiederholung dieser Verlinkung. Dort steht ausdrücklich: "Die sog. Backticks (``). Achtung: Die Backticks sind keine einfachen Anführungszeichen!" - Und darauf bezog sich meine Anmerkung, daß vermutlich in deinem Script irgendein Zeichen nicht korrekt sein könnte. Prüfe dein Script daraufhin.

Vorschlag: nimm doch erstmal ein sehr kleines Testscript, das lediglich ein "hallo Welt" ausgeben soll. Also ein PHP-Script, das mit exec() oder einer der anderen angegebenen Funktionen ein Perl-Script aufruft, das dann eben nur "hallo Welt" ausgibt. Wenn das funktioniert, baust du diese Konstruktion Schritt für Schritt so weit aus, bis du deine originalen Scripts erreicht hast. Treten dann bei irgendeinem Zwischenschritt Probleme auf, weißt du wesentlich genauer, wo es nun eigentlich klemmt.

Safe_Mode On schließt doch wohl shell_exec() aus, wenn ich das nun recht gelesen habe.

Laut Handbuch ist das so, ja.

Und wenn man nun zB. imagemagick ausführen möchte (falls installiert), dann würde man entweder ein bestimmtes Verzeichnis definieren, in dem dann dann doch ausgeführt werden darf, oder aber bestimmte Funktionen freigeben, oder aber sogar (vermutlich unschön) einen HTTP-Request auf ein Shellskript absetzten, dass im cgi-bin liegt?

Das kapiere ich jetzt nicht ganz. Abgesehen davon, daß Shellscripts im cgi-bin eigentlich nichts zu suchen haben.

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|