Linux に php スレッド拡張機能をインストールする方法: 1. lnmp インストール ディレクトリで lnmp.conf ファイルを見つけます; 2. "--enable-maintainer-zts" を "PHP_Modules_Options" に追加します; 3. pthreads をコンパイルします。 できる。
この記事の動作環境: Ubuntu 16.04 システム、PHP7.1 バージョン、DELL G3 コンピューター
インストール方法Linux の php スレッド拡張機能?
Ubuntu PHP インストール pthreads 拡張機能:
pthreads は、マルチスレッドを使用する PHP 拡張機能です。ここではあまり紹介しませんが、すでに理解されていると思いますので、分からない場合はドキュメントを読んでください。
ドキュメントのアドレス: https://www.php.net/manual/zh/book.pthreads.php
ここでは、インストール プロセスについて説明します。いくつかの紆余曲折があり、私も色々な情報を参考にしましたが、 が正式にインストールされました。自分自身の記録として書き留めておくだけでなく、将来の友達に落とし穴を避けるための参考にしてもらうこともできます。
ここで、この拡張機能は pecl install pthreads では正常にインストールできないことに注意してください。ソース コードをダウンロードし、自分でコンパイルしてインストールする必要があります。ダウンロードできるのは GitHub トランク ブランチからのみです。他のソースコードにも問題があるようで、最初に http://pecl.php.net からダウンロードしましたが、コンパイルは常に失敗しました。後で情報を確認したところ、問題があることがわかりました。 GitHub からダウンロードする必要があります。
GitHub: https://github.com/krakjoe/pthreads
デフォルトでは、全員がすでに lnmp 環境をインストールしています。正しく取り付けられていません。外に出たら左折してグーグルで検索してください。
pthreads では PHP がスレッドセーフな方法で実行される必要があるため、PHP をコンパイルするときに --enable-maintainer-zts を追加する必要があります。ただし、lnmp 統合パッケージはデフォルトでスレッドアンセーフです。
ここで、lnmp インストール ディレクトリに移動し、lnmp.conf ファイルを見つけます。
私のスクリーンショットのように、PHP_Modules_Options に --enable-maintainer-zts を追加します。 。
sudo wget http://cn2.php.net/distributions/php-7.0.20.tar.bz2 tar -jxvf php-7.0.20.tar.bz2
注: アドレスは、PHP 公式 Web サイトから自分で取得できます。ここで提供するものは現在利用可能です。 。
続行:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl --enable-maintainer-zts make sudo make install
このコードは lnmp1.4-full/include/php.sh から抽出されたものです。自分で調べることができます。
phpinfo() を開く;
スレッド セーフが有効になっていることを確認します。
コンパイルしますpthreads ソース コード パッケージは、php ソース コードの ext ディレクトリに配置されます。私のディレクトリは次のとおりです: lnmp1.4-full\src\php-7.0.19\ext [状況に応じて調整してください]
pthreads を入力してくださいdirectory
phpize ./configure --with-php-config=/usr/local/php/bin/php-config make sudo make install
php-config パスは、状況に応じて調整されます。デフォルトの lnmp を使用している場合は、これがこれです。
ここで実行すると、pthreads.so が正常にコンパイルされたことを示すメッセージが表示されます。そうでない場合は、前の手順を確認してください。
一般的なオンライン チュートリアルでは、この時点に達すると、次のようになります: pthreads.so を php.ini ファイルに追加し、php-fpm を再起動するだけです。
ここは穴です。 php.ini を直接追加すると、php-fpm を開始できないことがわかり、pthreads.so をロードできないというメッセージが表示されます。
正しい姿勢:
php.ini をコピーして、php という名前を付けます。 -cli.ini
pthreads.so を php.cli.ini に入れます
次に、php -m | grep pthreads を実行して、それが表示されるかどうかを確認します。
これだけで完成です。
注: 運用環境では pthread を使用しないでください バグがある場合は、自分で試してコマンド ライン タスクを実行してください。最終的なインストールを通じて、CLI を介してのみ実行できることもわかりました。ハハハッハッハ。
最後に、Windows インストールの pthreads パッケージには、表示できるデモが多数含まれていることを思い出してください。
Windows 版のダウンロード アドレス: https://windows.php.net/downloads/pecl/releases/pthreads/
推奨学習: 「PHP ビデオ チュートリアル 」
以上がLinuxにPHPスレッド拡張機能をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。