22

pcntl_fork() を使用して、XAMPP php プロセスを実行するコマンド ラインをフォークしようとしています。以下のコマンドを実行すると:

$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()

誰でもこれを修正する方法を提案できますか?

4

4 に答える 4

33

PHP を Apache モジュール (XAMPP など) として使用する場合、関数「pcntl_fork」を使用することはできません。pcntl_fork は、CGI モードまたはコマンドラインからのみ使用できます。

この関数を使用すると、次のようになります。'Fatal error: Call to undefined function: pcntl_fork()'

ソース: http://php.net/manual/en/function.pcntl-fork.php

于 2013-12-09T14:13:41.887 に答える
11

インストールされているかどうかを確認するには、次を実行します。

php -i | grep pcntl

存在して有効になっている場合、pcntl 関数は無効になっている可能性があります。これは、新しい PHP 5.x インストールのデフォルトのようです。確認するには、次を実行します。

php -i | grep disable_functions

pcntl_* 関数のリストが表示された場合は、php.ini ファイル (XAMPP 内) を編集して、その行をコメントアウトする必要があります。disable_functions=

OS X 用の PHP のこのディストリビューションを使用することをお勧めします。これには現在のバージョンがあり、pcntl拡張機能があることを確認できます。

于 2013-11-11T15:51:10.753 に答える