Одна из моих команд командной строки не выполняется, несмотря на то, что другие похожие строки работают. Я работаю на Linux-машине с использованием ОС Ubuntu 12.04. Я тоже пытался использовать exec, но не работает.Оператор PHP exec не выполняет определенную команду
У меня на самом деле это работало в какой-то момент, где я столкнулся с проблемой подвески (ожидая вывода команды), поэтому я перенаправляю вывод в/dev/null. Так вот, где в развитии что-то изменилось. Мы создали пакет debian для установки, и я запустил этот установочный пакет, поэтому я подумал, что, возможно, переписывая файл, разрешения были изменены, поэтому я добавил чтение/запись/выполнение всем пользователям/группам/владельцам, но это не сработало ,
Код здесь:
if(isset($_POST['activateXML']))
{
if (videoConsistencyCheck())
{
`cp {$fileXML} /apps/video/xml.xml`;
`sudo /apps/video/vsss restart >/dev/null 2>&1 &`;
systemUnvalidate();
header('Location: index.php?app='.$_GET['app']);
die();
}
}
Я знаю, что первая строка в заявлении, если запускается на выполнение. Строка кода отлично работает на самом деле, так что это тоже не проблема. Я сделал много Googling, и все, что я мог найти, это вопрос без ответа, любые советы были бы полезными.
EDIT: так, что, казалось, не работает, на самом деле вызов команды, как предполагалось, но в сценарии Баша я звоню старт-стоп-демон не работает
EDIT 2: Я сделал файл PHP теста и запустил код с терминала, исправил ошибку start-stop-daemon, добавив sudo в команды, но он по-прежнему не работает в моем коде. Я вызываю этот код при нажатии кнопки отправки.
Имеет ли исполняемый пользователь PHP права на выполнение на '/ apps/video/vsss'? –
Как указано выше, я выполнил 'sudo chmod a + rwx/apps/video/vsss'. Вы предлагаете мне добавить новых пользователей? и если да, то каким образом я могу определить пользователя, который будет использовать PHP-код? Кажется, что это будет случай, когда у него просто нет разрешений на выполнение. – xsdf
Какой у вас индикатор того, что он не работает? Что происходит? –