Se supone que la función pcntl_fork de PHP bifurca un proceso al igual que la función de horquilla estándar en C.
Pero me preguntaba si esta función realmente bifurca el proceso o si emula ese comportamiento de una manera diferente.
Si realmente se realiza el proceso, está claro qué proceso es: uno de los procesos hijo de Apache.
Eso está bien siempre que Apache esté utilizando el MPM prefork (es decir, un proceso por solicitud).
¿Pero qué sucede si Apache está utilizando el MPM de trabajador?
Cuando se utiliza el MPM worker, cada proceso secundario de Apache contiene muchos subprocesos, cada uno maneja una solicitud HTTP diferente. Entonces, si se bifurca el proceso en esa situación, ni siquiera puedo pensar qué sucedería con todos esos hilos y solicitudes atendidas.
Así que si pcntl_fork() realmente bifurca el proceso, entonces creo que no es una buena idea usar esta función si configura Apache para usar el MPM worker.PHP: ¿Qué hace pcntl_fork() realmente?
¿Qué dicen los expertos? ¿Estoy razonando bien, o simplemente estoy diciendo tonterías?
materiales relacionados se pueden encontrar en el capítulo sobre el Control de Procesos en http://www.tuxradar.com/practicalphp/16/1/0 – Gordon
eche un vistazo a http: // stackoverflow.com/questions/12214785/how-to-use-pcntl-fork-with-apache – yegor256