pcntl_fork - php fork process
pcntl_fork() devolviendo, Error grave: llamar a una funciĆ³n no definida pcntl_fork() (3)
Estoy tratando de bifurcar una línea de comandos ejecutar el proceso php XAMPP usando pcntl_fork (). Cuando ejecuto el siguiente comando:
$pid = pcntl_fork();
if($pid == -1){
file_put_contents(''testlog.log'',"/r/nFork Test",FILE_APPEND);
return 1; //error
}
else if($pid){
return 0; //success
}
else{
file_put_contents($log, ''Running...'', FILE_APPEND);
}
Yo obtengo:
Fatal error: Call to undefined function pcntl_fork()
¿Alguien puede sugerir cómo solucionar esto?
No es posible usar la función ''pcntl_fork'' cuando PHP se usa como módulo de Apache (como XAMPP). Solo puede usar pcntl_fork en modo CGI o desde la línea de comandos.
El uso de esta función dará como resultado: ''Error grave: llamar a una función no definida: pcntl_fork ()''
Para ver si está instalado, ejecute:
php -i | grep pcntl
Si está presente y habilitada, es probable que la función pcntl esté deshabilitada, lo que parece ser el predeterminado en las nuevas instalaciones de PHP 5.x. Para comprobar, ejecute:
php -i | grep disable_functions
Si ve una lista de funciones pcntl_ *, deberá editar su archivo php.ini (dentro de XAMPP) y comentar la línea disable_functions=
Le recomiendo que use esta distribución de PHP para OS X, que tiene versiones actuales y puedo confirmar que tiene la extensión pcntl
.
pcntl_*
, el soporte de Control de procesos en PHP no está habilitado por defecto. Debe compilar la versión CGI o CLI (no se utiliza como módulo de Apache) de PHP con la opción de configuración --enable-pcntl
cuando compile PHP para habilitar la compatibilidad con Process Control.
Actualmente, este módulo no funcionará en plataformas que no sean Unix (Windows).