ホームページ >バックエンド開発 >PHPチュートリアル >PHP 致命的エラー: 未定義関数 pcntl_fork() の呼び出し
問題の説明:
[root@localhost www]# /usr/local/php/bin/phpindex.php
PHP 致命的エラー: /home/www/theard/threadProcessManager 内の未定義関数 pcntl_fork() の呼び出し。 php 69 行目
解決策:
1. php
./configure --enable-pcntl `````````` を再コンパイルします。 PHP をインストールした ext/pcntl ディレクトリに直接コピーします。
Run
phpize
[root@localhost pcntl]# ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
生成されたファイルを置くデフォルトのディレクトリに置きます:
[root@localhost pcntl]# cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pcntl.so /usr/lib/php/ modules/
次に、この拡張機能を php.ini に追加します
extension=pcntl.soそれを追加しない場合は、プログラムに直接ロードできます (dl() 関数を使用すると、関数はキャンセルされます)。特にphpの場合 cmdlineに加えて、ApacheでWeb作業を行う場合、Webサービスを提供するときにpnctlモジュールをロードするときに問題が発生することがよくあります。
echo "これは fork コマンドを呼び出す前のエコーです";
$pid = pcntl_fork();
if ($pid == -1 ) {
die("フォークできませんでした");
} else if ($pid) {
echo "私は親です、pid = ". $pid ."n";
} else {
echo "私は親ですchild, pid = ". $pid ."n";
}
echo "これは fork コマンドを呼び出した後のエコーです";
?>