Я написал bash-скрипт, который запускает браузер на xServer и делает скриншоты браузеров. Если я запускаю его с пользователем apache2 (www-data), он работает безупречно, даже когда я использую интерактивную оболочку php и запускаю его через shell_exec или exec, он работает отлично. Однако, когда я запускаю его из своего php-файла через браузер, он не работает должным образом. Сценарий, похоже, не запускает команду xterm (для запуска браузера) и не делает скриншоты, он только выполняет команды сна и уничтожения. Я провел целый день в поисках решения или, по крайней мере, правильного способа отладки, но, похоже, ничего не нашел.
PHP Запустить скрипт bash из файла php, который ведет себя странно
Ответы (1)
Включите ошибки для начала
error_reporting(E_ALL);
ini_set('display_errors', '1');
Затем измените команду на
shell_exec('bash /home/daemon/daemon.sh');
Последняя часть вашей команды направляет весь вывод (включая ошибки) в /dev/null — например, туда, где вы вообще не увидите никаких ошибок.
Сделайте это и повторно запустите команду, и вы должны увидеть ошибки.
person
Jake N
schedule
28.01.2014
Я просто получаю пустую страницу. Когда я повторяю команду shell_exec, я вижу только все мои эхо моего скрипта bash, но все же не какие-либо ошибки, которые он производит
- person user1685565; 29.01.2014
error_reporting(E_ALL); ini_set('display_errors', '1');
в скрипт PHP для его отладки? - person Jake N   schedule 28.01.2014shell_exec('bash /home/daemon/daemon.sh > /dev/null &');
Я пробовал разные команды, такие как exec() или даже скрипт запуска bash, который запускает daemon.sh в фоновом режиме, но ничего не работает - person user1685565   schedule 28.01.2014