Почему использование библиотеки pcntl в php не рекомендуется на prod-serv? - PullRequest
1 голос
/ 04 февраля 2011

Может кто-нибудь сказать мне, почему использование pcntl lib на производственных серверах не рекомендуется? Руководство по PHP очень кратко рассказывает об этом, и мне крайне необходимо использовать эту библиотеку ... Есть ли другой способ сделать то же самое в php?

Ответы [ 2 ]

3 голосов
/ 05 февраля 2011

pcntl не рекомендуется в производственных средах, потому что поддерживаемые им функциональные возможности (разветвление, управление процессом, обработка сигналов) - это довольно явные вещи, которые вы должны не использовать в приложении стиля CGI. Теперь, если вы пишете приложение-демон или командную строку на PHP, это другое дело ...

Из руководства по PHP :

Управление процессом не должно быть включено в среде веб-сервера, и могут возникнуть непредвиденные результаты, если в среде веб-сервера используются какие-либо функции управления процессом.

1 голос
/ 30 марта 2011

Необходимо четко понимать разницу между скриптом php cli и скриптом sapi / cgi.php в производственных системах также может иметь поддержку pcntl.

, здесь важно иметь 2 файла конфигурации php.один для cli и один для cgi setup.затем нужно отключить pctnl в настройке cgi, потому что реальная проблема безопасности заключается в том, что разветвление скрипта при выполнении веб-сервером может привести к тому, что процессы зомби наводнят систему.умеет писать скрипты, которые разветвляются ...

...