インストールSwoole
Swoole
それはに従って延長され PHP
建て標準拡張。使用され phpize
、検出スクリプトのコンパイルを生成し./configure
、コンパイル設定の検出を行い、make
コンパイル、make install
インストールします。
- 特別な必要がある場合には、コンパイルしてインストールしてください
Swoole
リリースまたは最新バージョンの v4.4LTSを - 現在のユーザーでない場合は
root
、持っていない可能性がありPHP
、ディレクトリをインストールするための書き込み権限を、インストールする必要がありますsudo
かsu
- あなたがいる場合は
git
枝の上で直接git pull
更新コード、再コンパイルする前に実行するようにしてくださいmake clean
- のみをサポートする
Linux
(カーネル2.3.32以降)、FreeBSD
、MacOS
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オプションは、 置き換えxhprof
、blackfire
および molten
することができます SwooleTracker 代わりに。
インストールの準備
システムをインストールする前に、以下のソフトウェアがすでにインストールされていることを確認する必要があります
php-7.1
以降gcc-4.8
以降make
autoconf
クイックインストール
ソースswoole 1.ダウンロード
- https://github.com/swoole/swoole-src/releases
- http://pecl.php.net/package/swoole
- http://git.oschina.net/swoole/swoole
ソースからインストール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-ウィキ