2015-11-20 7 views
2

Использует exec для запуска nohup из скрипта php правильно, если нужно запустить длительное действие, но веб-запрос должен немедленно вернуться? Я хочу создать другой процесс из PHP-скрипта, который запускается после запроса.nohup из php-скрипта из apache для длительной работы

Пример:

exec ('nohup php long_running_script.php'); 

//Need this to return happen right away without waiting for long_running_script.php 
echo json_encode(array('success' => TRUE)); 

ответ

2

Если в команда доступна на хостинге, я предпочитаю использовать:

putenv('SHELL=/bin/sh'); 
print `echo /usr/bin/php -q full_path_to_script.php | /usr/bin/at now 2>&1`; 

Я хотел бы проверить путь каждой команды, чтобы убедиться, что все правильно выполняется :

echo exec('which at'); 
+0

Работало отлично! Благодаря! –

+0

Это отличное решение, так как любые запущенные таким образом процессы не будут убиты, если Apache перезагрузится (в отличие от процессов, запущенных через «nohup»). –

 Смежные вопросы

  • Нет связанных вопросов^_^