Hi Dennis,
Per Konsole wird der Befehl einwandfrei ausgeführt, im selben Verzeichnis. Spielt es eigentlich eine Rolle, wenn ich meine PHP-Dateien über den Browser aus meinem eigenen home-Verzeichnis heraus ausführe? Also meine PHP-Dateien liegen in public_html und ich rufe sie dann so auf: http://localhost/~kerstin/index.php.
Das dürfte bei einem korrekt konfigurierten Apache eigentlich keine Rolle spielen.
Aber hier mal noch ein paar Vorschläge, was du noch ausprobieren kannst:
- echo $command; in deinem PHP-Script, nimm die Ausgabe dort dann in den Zwischenspeicher...
- da du offensichtlich root-Rechte auf dem Server hast, wechsle zu dem Benutzer unter dem Apache läuft (unter Debian ist das www-run, da du aber XAMPP verwendest kann das alles und nichts sein)
- und führe dort den oben kopierten Befehl in dem Verzeichnis des PHP-Scriptes aus
Ich hab den Befehl in $command genommen und ihn in meinem Verzeichnis, dort wo auch die PHP-Skripte liegen als normaler User, wie ich es bin ausgeführt. Kein Problem. Is ja auch kein Wunder, is ja mein Verzeichnis. Dann hab ich mal alles in die htdocs vom xampp kopiert. Als normaler User ist da nix mit Datei schreiben. Klar eigentlich.
Ich gehe jetzt nämlich mal davon aus, dass du kein suExec oder suPHP verwendest, dann läuft das PHP-Script nämlich unter dem User, unter dem der Apache auch läuft - und der hat möglicherweise keine Zugriffsrechte auf das was du machen willst.
ja, ich verwende soweit mir bekannt kein suExec oder suPHP. Hab schon was gelesen hier im Forum, aber wozu das genau gut ist, stand da nicht wirklich.
Ich vermute auch schon langsam, dass es was mit Zugriffsrechten zu tun hat. Das Problem ist nur: Wie kriege ich das hin, dass der Apache das Programm per PHP-exec() ausführt und dann auch noch zulässt, Dateien von diesem Programm in das jeweilige Verzeichnis zu schreiben?
Gruß,
Kerstin