Я пытаюсь выполнить простой сценарий Bash Script
от PHP
. Я собираю данные из HTML5
переднего конца страницы, проходят через ajax
в PHP скрипт, возьмите переменные, а затем передать их в .sh
сценарий, но у меня есть сообщения типа:Не удается выполнить скрипт Bash из PHP
./test_bash.sh: line 13: ./test.txt: Permission denied
Я попытался изменить разрешения chmod 777 test_bash.sh
, попытался изменить файл sudoers.d
, попробовал это: shell_exec("echo password_for_the_user | sudo -S command_to_execute");
... но Bash script
не может записать файл test.txt
.
Вот мой основной код, первая в 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";
?>
Во-вторых, Bash
код:
#!/bin/bash
var1=$1;
var2=$2;
var3=$3;
echo "$var1";
echo "$var2";
echo "$var3";
echo $var1 $var2 $var3 > ./test.txt
Это работает, если вы говорите 'echo $ var1 $ var2 $ var3>/tmp/test.txt'? Похоже, вы не можете писать в директории, где находится 'test.txt'. – fedorqui
Да, теперь это работает. Спасибо! – Sergi