ホームページ > php教程 > PHP开发 > LinuxシステムのPHPにpcntl拡張子を追加する

LinuxシステムのPHPにpcntl拡張子を追加する

高洛峰
リリース: 2016-12-22 16:03:16
オリジナル
1513 人が閲覧しました

pcntl 拡張機能は、php のマルチスレッド操作をサポートできます (Linux のみ)

本来は、PHP を再コンパイルし、後で構成プロンプトに --enable-pcntl を追加する必要があります

私の php は yum を使用してインストールされているため、使用できません上記の方法

以下では、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は正常にコンパイルされましたが、エラーが発生しました

error: 'PHP_FE_END' undeclared here (not in a function)

解決策:

ソースコードにエラーがあります。 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 のモデルディレクトリの /etc/php.ini を編集し、

extension=pcntl.so を追加します

4. Apache を再起動します

service httpd restart

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

<?php
  echo pcntl_fork();
?>
ログイン後にコピー

出力: 23165

Linux システムの php に pcntl 拡張機能を追加することに関するその他の記事については、PHP 中国語 Web サイトに注目してください。

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