[TYPO3-german] exec in BE Modul

bernd wilke x00nsji02 at sneakemail.com
Tue Oct 27 17:37:52 CET 2009


Am Tue, 27 Oct 2009 14:01:18 +0100 schrieb christian oettinger:

> Hallo David,
> 
> Danke für Deine Ideen. Du hast natürlich Recht, das war etwas dünn
> erklärt. Ich hatte die Rechte der (Shell-)Datei, die ich ausführen will
> auf 777 gesetzt. Zudem habe ich versucht die Eigentümer anzupassen (ich
> habe verschiedene Variationen durchprobiert, haptsächlich aber die
> getestet, die ich von einer von Typo selbst kreierten Datei abgeschaut
> habe).
> 
> Ich habe es am Ende nicht mit exec() hinbekommen. Als ich aber
> shell_exec() verwendet habe hatte ich einen kleinen Erfolg und wieder
> ein Problem, das ich noch weniger verstehe. Mein Aufruf:
> 
> $command = '/var/www/cms/uploads/scripts/makeCD.sh'; $output =
> shell_exec($command);
> 
> Ich rufe damit ein script auf, das einige Kontroll-Echos ausgibt, dann
> eine (Sperr-)Datei anlegt, dann einen wget-Aufruf duchführt, dann die
> Sperrdatei entfernt. Die Echos habe ich erhalten, aber durchgeführt
> wurde nichts, weder Datei angelegt noch wget aufgerufen.

das klingt auch nach fehlerhaften Rechten.
Bedenke, dass dein Script mit dem User des aufrufenden Prozesses 
gestartet wird. In diesem Fall also der Apache-user. 
a) hat dieser user eine shell zugewiesen bekommen? 
das scheint der fall zu sein, sonst würdest du keine direkte Ausgabe sehen
b) in welchem Verzeichnis wird dein shell-script gestartet? (pwd)
c) hat der Apache-User Schreibrechte in diesem Verzeichnis?
 
meine Vermutungen:
entweder läuft das in einem anderen Verzeichnis als du vermutest oder die 
Rechte zum Anlegen einer Datei fehlen

> Ich denke ich mache es jetzt anders, rufe das script per cronjob auf und
> lasse von php nur eine Kontroll-Datei anlegen, die den cronjob letzlich
> etwas tun läßt. So bleibt jedes bei sich...
> 
> viele Grüße!
> christian (oe)
> 

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list