CentOS7 + PHP7.4コンパイラのインストールSwoole4.4。*

インストールSwoole

Swoole それはに従って延長され  PHP 建て標準拡張。使用され  phpize 、検出スクリプトのコンパイルを生成し./configure 、コンパイル設定の検出を行い、make コンパイル、make install インストールします。

  • 特別な必要がある場合には、コンパイルしてインストールしてください  Swoole リリースまたは最新バージョンの  v4.4LTSを
  • 現在のユーザーでない場合は  root、持っていない可能性があり  PHP 、ディレクトリをインストールするための書き込み権限を、インストールする必要があります  sudo か su
  • あなたがいる場合は  git 枝の上で直接  git pull 更新コード、再コンパイルする前に実行するようにしてください make clean
  • のみをサポートする  Linux(カーネル2.3.32以降)、 FreeBSDMacOS Linuxシステムの低いバージョン(例えば、3つのオペレーティングシステムは、  CentOS 6)を使用することができる  RedHat 提供するために  devtools 、コンパイル、リファレンスマニュアル、  Windowsプラットフォームを使用することができ  CygWin 、または WSL(Windows Subsystem for Linux)
  • 拡張子との一部  Swoole を参照する拡張は、互換性がない拡張のコンフリクト

拡張競合

デバッグいくつかの微量なので  PHP 、グローバル変数の拡張大量の使用はにつながる可能性  Swoole の同時プロセスのクラッシュを発生します。次の関連の拡張子を閉じてください。

  • xdebugの
  • phptrace
  • AOP
  • 溶融
  • xhprof
  • Phalcon(Swoole 中コルーチンない作業  phalcon フレームワーク)

前記  xdebug と  phptrace 缶  sdebugオプションは、  置き換えxhprofblackfire および  molten することができます  SwooleTracker  代わりに。

インストールの準備

システムをインストールする前に、以下のソフトウェアがすでにインストールされていることを確認する必要があります

  • php-7.1 以降
  • gcc-4.8 以降
  • make
  • autoconf

クイックインストール

ソースswoole 1.ダウンロード

ソースからインストール2

ソースディレクトリ内の端末にソフトウェアのソースコードパッケージをダウンロードした後、次のコマンドを実行すると、コンパイルしてインストールするには

ubuntu 没有安装 phpize 可执行命令:sudo apt-get install php-dev 来安装 phpize
git clone https://github.com/swoole/swoole-src/releases swoole-src
cd swoole-src && \
phpize && \
./configure && \
--enable-openssl  \
--enable-http2 && \
make && sudo make install

以下はまた、高度な例をコンパイルするために使用することができます。

mkdir -p ~/build && \
cd ~/build && \
rm -rf ./swoole-src && \
curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L && \
tar zxvf ./tmp/swoole.tar.gz && \
mv swoole-src* swoole-src && \
cd swoole-src && \
phpize && \
./configure \
--enable-openssl  \
--enable-http2 && \
make && sudo make install

拡張機能を有効にする3。

コンパイルした後、正常にシステムをインストールし、我々はする必要がある  php.ini の行を追加します  extension=swoole.so Swoole拡張を有効にします

クイックスタート

cd ~/swoole-src/examples/server
php echo.php

上部のEcho.phpコードの実行が読み取ります。

<?php
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
$serv = new swoole_server("0.0.0.0", 9501);
//$serv->on('connect', function ($serv, $fd, $reactor_id){
//	echo "[#".posix_getpid()."]\tClient@[$fd:$reactor_id]: Connect.\n";
//});
$serv->set(array(
    'worker_num' => 1,

));

$serv->on('receive', function (swoole_server $serv, $fd, $reactor_id, $data) {
	echo "[#".$serv->worker_id."]\tClient[$fd] receive data: $data\n";
    if ($serv->send($fd, "hello {$data}\n") == false)
    {
        echo "error\n";
    }

});

//$serv->on('close', function ($serv, $fd, $reactor_id) {
//	echo "[#".posix_getpid()."]\tClient@[$fd:$reactor_id]: Close.\n";
//});

$serv->start();

ポート9501が有効になっている場合、その後、次を参照してください。

netstat -anp | grep 9501

以下のような成功です。

 

swoole公式サイトウィキ会場詳細なチュートリアル:swoole-ウィキ

公開された109元の記事 ウォンの賞賛101 ビュー360 000 +

おすすめ

転載: blog.csdn.net/Alen_xiaoxin/article/details/105048154
おすすめ