2017-02-17 14 views
0

Я использую PHP, который должен запускать PHP в фоновом режиме. Im, используя shell_exec, чтобы сделать это и передав параметры, которые он должен выполнить правильно.PHP shell_exec из скрипта, похоже, не работает

Пример:

shell_exec('php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . ' >/dev/null 2>&1'); 

Однако, при запуске из PHP-скрипта под пользователем «nobounces» не работает вообще.

Я проверил тот же самый вызов через SSH как root, и он работает плавно.

Я что-то пропустил в разговоре?

">/dev/null 2>&1", чтобы избежать ожиданий ответа, так как для завершения сценария могут потребоваться часы.

+2

Скорее всего, эта учетная запись не имеет исполняемого файла php в своей переменной среды PATH. Попробуйте абсолютный путь к интерпретатору php, возможно, '/ usr/bin/php'. – arkascha

+0

Что произойдет, если вы просто наберете php в консоли? это будет работать? если нет, укажите путь 1 – sumit

+0

Попытка найти путь к PHP в установке cPanel, уже пробовав с/usr/bin/php, но, похоже, ее нет, потому что она все еще не работает. –

ответ

0

Как работает на сервере Cpanel, решение было использовать:

shell_exec('/usr/local/cpanel/3rdparty/bin/php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . ' >/dev/null 2>&1 &'); 

Вы также можете использовать PHP-CGI, используя путь:

/usr/local/cpanel/3rdparty/bin/php-cgi 

Спасибо @arkascha за ваше предложение.