У меня два компьютера. На первом компьютере у меня работает apache со всем моим веб-кодом. На втором компьютере у меня есть большое количество данных, хранящихся с помощью сценария поиска (для выполнения сценария обычно требуется несколько часов). Я фактически создаю веб-интерфейс для доступа к этим данным без какой-либо задержки.running bash scripts in php
так я называю:
exec("bash initial.bash");
это скрипт драйвер, который находится в моей папке Apache. Он вызывает сценарий на другом компьютере. : ssh otherMachine temp.bash&
Этот скрипт вызывает сценарий поиска данных на втором компьютере.
Если я вызываю initial.bash в терминале, все работает плавно и успешно, но если я его назову в своем PHP-файле, то все мои команды запускаются в initial.bash, за исключением ssh otherMachine temp.bash&
. Я положил & в конце этого, так что temp.bash будет работать в фоновом режиме, так как это займет несколько часов.
Я не уверен, почему вложенный скрипт не запущен при вызове Apache. Есть ли более эффективная альтернатива, чем использование exec или shell_exec для вызова сценария, который в конечном итоге вызывает другой скрипт. Причина, по которой я не вызываю сценарий на втором компьютере, - это время, которое требуется для запуска программы. Shell_exec не отображает страницу php до завершения скрипта.
+1 Все замечательные предложения. –