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
 
Вот уж формулировка вопроса! Я раз 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 тоже выполняется но рушится не завершившись до конца, т.е папки создает, файлы есть еще пару операций но до них не доходит(
 
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
 
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

Спасибо, попробую так отследить ошибки
 
Сверху