Функция PHP pcntl_fork должна разветвлять процесс так же, как стандартная функция fork в C.
Но мне было интересно, действительно ли эта функция вызывает процесс или если он эмулирует это поведение по-другому.
Если он действительно вызывает процесс, тогда он выясняет, какой процесс является одним из дочерних процессов Apache.
Это нормально, пока Apache использует MPM prefork (т.е. Один процесс за запрос).
Но что происходит, если Apache использует рабочий MPM?
Когда рабочий MPM используется, каждый дочерний процесс Apache содержит много потоков, каждый из которых обрабатывает другой HTTP-запрос. Поэтому, если вы откажетесь от процесса в этой ситуации, я даже не могу подумать, что произойдет со всеми этими потоками и запросами.
Поэтому, если pcntl_fork() действительно развивает процесс, я думаю, что не рекомендуется использовать эту функцию, если вы установите Apache для использования рабочего MPM.
Что говорят эксперты? Я рассуждаю хорошо, или я просто говорю глупости?