Подтвердить что ты не робот

Pcntl_fork() return, Fatal error: вызов функции undefined pcntl_fork()

Я пытаюсь запустить работу командной строки XAMPP с помощью команды pcntl_fork(). Когда я запустил команду ниже:

$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);
}

Я получаю:

Fatal error: Call to undefined function pcntl_fork()

Может кто подскажет, как это исправить?

4b9b3361

Ответ 1

Невозможно использовать функцию "pcntl_fork", когда PHP используется в качестве модуля Apache (например, XAMPP). Вы можете использовать только pcntl_fork в режиме CGI или из командной строки.

Использование этой функции приведет к: "Неустранимая ошибка: вызов функции undefined: pcntl_fork() '

Источник: http://php.net/manual/en/function.pcntl-fork.php

Ответ 2

Чтобы узнать, установлен ли он, запустите:

php -i | grep pcntl

Если он присутствует и включен, функция pcntl, вероятно, отключена, которая по умолчанию используется в новых установках PHP 5.x. Чтобы проверить, запустите:

php -i | grep disable_functions

Если вы видите список функций pcntl_ *, вам нужно будет отредактировать файл php.ini(внутри XAMPP) и закомментировать строку disable_functions=

Я бы рекомендовал использовать этот дистрибутив для PHP для OS X, который имеет текущие версии, и я могу подтвердить, имеет ли pcntl расширение.