ホームページ > バックエンド開発 > PHPチュートリアル > PHP が pcntl マルチスレッド拡張機能を追加 (Linux)

PHP が pcntl マルチスレッド拡張機能を追加 (Linux)

WBOY
リリース: 2016-06-20 13:05:03
オリジナル
837 人が閲覧しました

php が pcntl 拡張機能を追加します (Linux)

pcntl 拡張機能は、PHP のマルチスレッド操作をサポートできます (Linux のみ)
本来は、PHP を再コンパイルし、後の設定プロンプトに --enable-pcntl

を追加する必要がありました。

私のphpはyumを使用してインストールされているため、上記の方法は使用できません
拡張機能を php に動的に追加する方法は次のとおりです: phpize

1. まず、phpize コマンドが配置されているディレクトリを確認します (ps: my directory/usr/bin/phpize)
見つからない場合は、インストールを実行します

yum install php53_devel   (ps:请注意自己的版本)
ログイン後にコピー


インストールが完了した後。 phpize コマンドが生成されます

2. php.net に移動して、対応するバージョンの php ソース ファイルをダウンロードします
例として php-5.3.17 を取り上げます。解凍後、対応するモジュール

を入力します。
cd ext/pcntl
#先执行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config   (ps:请正确的指定php-config的目录)
#编译、安装
make && make install
ログイン後にコピー


この時点でエラーが発生しました

./configure は正常にコンパイルされますが、エラーが発生します
エラー: 「PHP_FE_END」がここで宣言されていません (関数内ではありません)

解決策:

ソースコードにエラーがあります。php-5.3.17 ディレクトリに入ってください
sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c
次に、再作成してインストールします

3. コンパイルが完了すると、pcntl.so ファイルが生成されます。 phpのmodelディレクトリ内

/etc/php.ini を編集して

を追加します
extension=pcntl.so
ログイン後にコピー



4. Apache を再起動します

service httpd restart
ログイン後にコピー


5. インストールが成功したかどうかをテストします

echo pcntl_fork();
ログイン後にコピー


出力: 23165


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート