nicht ausführen Ich versuche, eine einfache Bash Script
von PHP
Skript auszuführen. Ich sammle Daten von einer HTML5
Front-End-Seite, passieren ajax
an den PHP-Skript, die Variablen nehmen und dann diese an die .sh
Skript übergeben, aber ich habe Nachrichten wie:Kann Bash-Skript von PHP
./test_bash.sh: line 13: ./test.txt: Permission denied
Ich habe versucht, zu ändern die Berechtigungen chmod 777 test_bash.sh
, versucht, die sudoers.d
Datei zu ändern, versuchte dies: shell_exec("echo password_for_the_user | sudo -S command_to_execute");
... aber die Bash script
kann die Datei test.txt
nicht schreiben.
Hier ist meine grundlegenden Code, zuerst die PHP code
:
<?php
$var1 = json_decode($_POST['var1']); //from front-end html5
$var2 = json_decode($_POST['var2']);
$var3 = json_decode($_POST['var3']);
$response = shell_exec("./test_bash.sh $var1 $var2 $var3 2>&1");
echo "$response";
?>
Zweitens, die Bash
Code:
#!/bin/bash
var1=$1;
var2=$2;
var3=$3;
echo "$var1";
echo "$var2";
echo "$var3";
echo $var1 $var2 $var3 > ./test.txt
Funktioniert es, wenn Sie sagen: echo $ var1 $ var2 $ var3>/tmp/test.txt'? Es sieht so aus, als könnten Sie nicht in das Verzeichnis schreiben, in dem 'test.txt' steht. – fedorqui
Ja, jetzt funktioniert es. Vielen Dank! – Sergi