Ich möchte PHP exec() -Funktion auf einem Ubuntu-Server verwenden. Das Problem ist, ich bekomme immer einen Fehler, dass der Befehl nicht gefunden wird. Zum BeispielWie ändere ich die Shell für PHP exec()
exec("echo 123");
druckt
sh mit:/echo: nicht
Für mich gefunden, es sieht aus wie PHP die sh-Shell verwendet, wenn ich bash zu verwenden wollen . Ich habe versucht, die Shell für www-Daten in/etc/passwd zu ändern, was auch nicht geholfen hat.
Hat jemand eine Idee wo sonst könnte das Problem herkommen oder wie kann ich die Shell für PHP Ubuntuutzer ändern.
Danke, Timo
[EDIT]
Vielleicht hilft:
ich ein Bash-Skript von ssh als timo nennen, dieses Skript ruft ein PHP-Skript, das exec verwendet. Ich weiß, es klingt komisch, aber es ist Teil einer größeren Entwicklungsumgebung ...
Der Punkt ist, ich bin nicht sicher, als welcher Benutzer das Skript innerhalb exec ausgeführt wird.
[EDIT]
Inzwischen ich, dass es herausgefunden muss eine andere Rechte Problem beteiligt sein. Selbst wenn ich versuche, ein Bash-Skript test.sh (über den vollständigen Pfad!) Von exec aus aufzurufen, wird php test.php einfach sagen.
sh: /test.sh: nicht
gefunden
aufrufen. Danke für Sie super schnelle Antwort. Leider hat das das Problem nicht gelöst./bin/echo funktioniert auch nicht. Was wollte ich eigentlich ist diese /usr/bin/mysql --user = asdf asdf --password = meinedb <./dump.sql Wie Sie sehen können tun, habe ich auch den absoluten Pfad.Das Echo war nur ein Beispiel, um es einfacher zu machen ... Irgendwelche anderen Ideen vielleicht? – Timo