Hallo,
ich bin gerade dabei, eine „Browserkonsole“ zu programmieren, d.h. im Browser wird die Eingabeaufforderung unter Windows (cmd) nachgeahmt. Befehle werden an den Server geschickt und sollen dort ausgeführt werden. Das ganze dient also als Fernsteuerung.
Nun gibt es ja ein Arbeitsverzeichnis (was man mit „cd“ wechselt) und ich möchte, dass die Befehle im aktuellen Arbeitsverzeichnis ausgeführt werden. Momentan wird ein vom Browser gesendeter Befehl per passthru($cmd) ausgeführt, jedoch dann im Verzeichnis wo die ausführende PHP-Datei liegt.
Gibt es eine Möglichkeit, das Verzeichnis zu definieren? Ich hatte probiert, per passthru() erst „cd $path“ und dann den eigentlichen Befehl den Ordner zu wechseln, das hat aber nicht funktioniert. Geht es auch anders?
Gruß
jofree
Kann es sein, dass der safe_mode aktiviert ist und open_basedir gesetzt wurde? Das sind Konfigurationsvariablen in der php.ini, die verhindern sollen, dass unerlaubt auf Daten des Servers zugegriffen werden kann. Wenn das Script auf deinem eigenen Server läuft solltest du die Konfiguration ändern, aber vorsicht: Änderst du sie in der php.ini und startest den Webserver neu, gilt das für ALLE Domains auf dem Server. Alternativ kannst du per .htaccess die PHP-Werte ändern, das wäre meine favorisierte Weise.
Arbeitest du hingegen auf einem Webspace befürchte ich wirst du diese Einstellungen nicht ändern können - aus Sicherheitsgründen.
nein, soweit war ich noch gar nicht. ich wusste nicht wie ich das verzeichnis wechsele, in einem anderen forum erhielt ich die lösung: chdir().
trotzdem danke für eure bemühungen,
jofree