Ich versuche zu lernen, Shell-Skripte aus PHP-Code auszuführen. Also habe ich ein Testprogramm erstellt, um ein Bash-Skript innerhalb von PHP auszuführen. Es hat jedoch keinen Effekt. Der entsprechende Code ist unten gezeigt.PHP shell_exec Befehl funktioniert nicht
<?php
.......
shell_exec('/bin/bash /var/www/html/just_touch.sh');
?>
Das just_touch.sh
Skript erstellt gerade eine neue Datei, wie wie unten gezeigt.
touch /home/user/some.txt
Ich erwarte Datei /home/user/some.txt
nach der Ausführung zu haben, aber nein, ist es nicht gemacht. Was für einen Fehler mache ich?
S.S. Der folgende Code funktioniert jedoch.
$output = shell_exec('ls /home/user');
echo $output;
Hat das etwas mit Berechtigungen zu tun?
Darüber hinaus bemerke ich, dass, während dies druckt "Kannst du mich sehen?".
$output = shell_exec('echo Can you see me?');
echo $output;
Das geht nicht!
shell_exec('echo Can you see me?')
Was geht hier vor?
Geben Sie den vollständigen Pfad zu Ihrem /somedir/just_touch.sh –
Es funktioniert immer noch nicht. Gibt es eine Möglichkeit zu sehen, welcher Fehler von Mozilla ausgeht? – pythonic
Um etwas in Mozilla zu sehen, benutzen Sie 'passthru()' anstelle von 'shell_exec()'. http://php.net/manual/en/function.passthru.php –