PHP + Bash

es_dianoff

Новичок
Всем привет! У менять интересный вопрос ) Запускаю bash скрипт из PHP: system ("sh /var/www/6.3.0/billing/Create.sh $a"); Все ок, команда выполняется скрипт тоже, НО, рушится на пол пути. Когда команду выполняю "вручную" скрипт выполняется 1 минуту но из PHP 20 секунд и отрабатывает не до конца. Кто нибудь подскажет что делать?
 

Страшный Злодей

Бывший член клуба (достало хамство).
Вот уж формулировка вопроса! Я раз 10 перечитывал, чтобы понять, что все-таки происходит. Попробую уточнить:
Когда Вы запускаете свой sh скрипт, с помощью PHP, из браузера, то выполнение этой программы происходит лишь частично? Или все-таки аварийно завершается?
Когда вы запускаете этот же sh скрипт в консоле баша, где он выполняется 1 минуту, как происходит выполнение - аварийно завершается, выполняется частично или выполнятеся полностью?

Интуитивно, могу лишь догадываться, но подозреваю, что ответом на Ваш вопрос может оказаться какой-нибудь set_time_limit или max_execution_time. Ну, а по сути надо смотреть логи, например /var/log/apache2/error.log, (для выявления ошибок работы PHP скриптов). Мониторить можно и в реальном времени, например с помощью утилиты tail, которая должна быть в Вашей BASH консоли, можно так: tail -f /var/log/apache2/error.log
 

es_dianoff

Новичок
Вот уж формулировка вопроса! Я раз 10 перечитывал, чтобы понять, что все-таки происходит. Попробую уточнить:
Когда Вы запускаете свой sh скрипт, с помощью PHP, из браузера, то выполнение этой программы происходит лишь частично? Или все-таки аварийно завершается?
Когда вы запускаете этот же sh скрипт в консоле баша, где он выполняется 1 минуту, как происходит выполнение - аварийно завершается, выполняется частично или выполнятеся полностью?

Интуитивно, могу лишь догадываться, но подозреваю, что ответом на Ваш вопрос может оказаться какой-нибудь set_time_limit или max_execution_time. Ну, а по сути надо смотреть логи, например /var/log/apache2/error.log, для выявления ошибок работы PHP скриптов. Мониторить можно и в реальном времени, например с помощью утилиты tail, которая должна быть в Вашей BASH консоли, можно так: tail -f /var/log/apache2/error.log
Cори что может не корректно описал проблему)) Bash скрипт из консоли работает правльно до конца время 1 минута работы. А из PHP выполняю функцией system тоже выполняется но рушится не завершившись до конца, т.е папки создает, файлы есть еще пару операций но до них не доходит(
 

Breeze

goshogun
Команда форума
Партнер клуба
1. показ ошибок включен? error_reporting = E_ALL?
2. если посмотреть мануал по system, то можно увидеть много интересного, например, как получить вывод и что есть более интересная штука под названием exec.
3. system ("sh /var/www/6.3.0/billing/Create.sh $a >/tmp/error.log 2>&1");
потом в консоли cat /tmp/error.log
 

es_dianoff

Новичок
1. показ ошибок включен? error_reporting = E_ALL?
2. если посмотреть мануал по system, то можно увидеть много интересного, например, как получить вывод и что есть более интересная штука под названием exec.
3. system ("sh /var/www/6.3.0/billing/Create.sh $a >/tmp/error.log 2>&1");
потом в консоли cat /tmp/error.log
Спасибо, попробую так отследить ошибки
 
Сверху