Использование nohup или setsid в PHP как Fast CGI - PullRequest
0 голосов
/ 28 сентября 2010

Я пытаюсь выполнить потенциально долгий фоновый процесс в ответ на входящий AJAX-запрос, но использование nohup или setsid через shell_exec заставляет сервер разбомбить. Мы используем suexec и FastCGI, и когда он бомбил, это привело к полному обходу всего сервера.

shell_exec("nohup /home/me/myscript.php");

Скрипт не делает ничего длинного прямо сейчас, просто выводит в несуществующий файл (что никогда не происходит, потому что он взрывается первым)

Спасибо!

1 Ответ

0 голосов
/ 28 сентября 2010

Я всегда видел предупреждения на http://php.net/manual/en/intro.pcntl.php (хотя вы используете nohup, я знаю), как предупреждение о том, что разветвление от процессов веб-сервера не является безопасным способом.Если нужно запустить фоновый процесс, я создам демон / всегда работающий процесс задания, который может получать такие запросы (и не имеет никакого отношения к веб-серверу), который разветвляется / nohups по желанию.

...