Предполагается, что функция pcntl_fork PHP будет работать так же, как стандартная функция fork в C.
Но мне было интересно, действительно ли эта функция создает или обрабатывает этот процесс по-другому.
Если это действительно разворачивает процесс, тогда ясно, какой процесс является одним из дочерних процессов Apache.
Это нормально, пока Apache использует MPM prefork (т. Е. Один процесс за запрос).
Но что происходит, если Apache использует рабочий MPM?
Когда рабочий MPM используется, каждый дочерний процесс Apache содержит много потоков, каждый из которых обрабатывает другой HTTP-запрос. Поэтому, если вы откажетесь от процесса в этой ситуации, я даже не могу подумать, что произойдет со всеми этими потоками и запросами.
Так что если pcntl_fork() действительно разворачивает процесс, я думаю, что использовать эту функцию не рекомендуется, если вы установите Apache для использования рабочего MPM.PHP: Что действительно делает pcntl_fork()?
Что говорят эксперты? Я хорошо рассуждаю, или просто говорю глупости?
Связанные материалы можно найти в главе о контроле процесса в http://www.tuxradar.com/practicalphp/16/1/0 – Gordon
взгляните на http: // stackoverflow.com/вопросы/12214785/how-to-use-pcntl-fork-with-apache – yegor256