Запуск .sh файла из PHP-скрипта

  • Автор темы Автор темы Rango
  • Дата начала Дата начала

Rango

Новичок
Доброго времени суток, уважаемые программисты.

У меня возникла необходимость создать запуск консольного .sh файла из PHP-скрипта.
Я решил воспользоваться функцией exec, но к сожалению, это не дало положительного результата.
PHP:
<?php
$result = exec ('/var/www/up.sh');
echo $result;
if ($result)
{
echo "Все хорошо.";
}
if (!$result)
{
echo "Ошибка.";
}
?>
все права у файла up.sh имеются.
Во время исполнения этого кода, скрипт зависает на 10 секунд, после чего выдает ошибку, а файл up.sh так и не запускается.

Пожалуйста, подскажите, как запустить файл up.sh из PHP-скрипта.
 
Да, я запускал его внутри консоли. Скрипт up.sh работает.
 
Не помогло. Результат тот же: Скрипт "думает" где-то 10 секунд и выдает результат "Ошибка". Скрипт up.sh так и не запустился.
 
error_reporting(E_ALL);
ini_set('display_errors',1);
$result=exec('/bin/sh /var/www/up.sh 2>&1', $output);
var_dump($output,$result);
 
Выдало вот это
PHP:
array(0) { } string(0) "" Ошибка.
Скрипт up.sh так и не запустился.
 
Уверен, что он именно не запустился? Может он отработал, ничего не выводя на экран?
 
Я проверил - не сработал.
Запускаю на колинуксе своей машины.
 
что делает скрипт? есть подозрение, что up.sh запускает какую-то службу,
из апача у него может просто прав не хватать это сделать
 
из апача у него может просто прав не хватать это сделать
Эта теория кажется мне самой достоверной.

Файл up.sh проверяет состояние другого файла, и, если этот файл отключен, он его просто запускает.
Если запустить скрипт up.sh самостоятельно из консоли - он исполнится идеально и выполнит все необходимые функции.

Всем файлам, задействованным в скриптах up.sh & up.php (в т.ч. обоим этим файлам), даны права 777.
 
Rango
777 когда мы чего-то не понимаем, но так работает - зло
по теме:
запусти из консоли скрипт под логином апача и посмотри что происходит.
если позволяют возможности добавь отладочного вывода/логирования в файл в сам скрипт - а-ля мы запустились, мы сделали это, мы делаем это, ой.. вот ведь незадача.
 
Сверху