PHP 致命的エラー: 未定義関数 pcntl_fork() の呼び出し

WBOY
リリース: 2016-06-23 14:29:09
オリジナル
2550 人が閲覧しました

問題の説明:

[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モジュールをロードするときに問題が発生することがよくあります。

テストメソッド

test_fork.php:


echo "これは fork コマンドを呼び出す前のエコーです";

$pid = pcntl_fork();
if ($pid == -1 ) {
die("フォークできませんでした");
} else if ($pid) {
echo "私は親です、pid = ". $pid ."n";
} else {
echo "私は親ですchild, pid = ". $pid ."n";
}
echo "これは fork コマンドを呼び出した後のエコーです";
?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!