安裝前必須保證系統已經安裝了下列軟件php
php-7.0
或更高版本gcc-4.8
或更高版本make
autoconf
pcre
(CentOS
系統能夠執行命令:yum install pcre-devel
)下載地址:react
編譯安裝:git
cd /usr/local wget -c https://github.com/swoole/swoole-src/archive/v2.0.8.tar.gz tar -zxvf v2.0.8.tar.gz cd swoole-src-2.0.8/ phpize ./configure make && make install
修改php.ini文件:github
extension=swoole.so
經過php -m
或phpinfo()
來查看是否成功加載了swoole.so
,若是沒有多是php.ini
的路徑不對,能夠使用php --ini
來定位到php.ini
的絕對路徑。服務器
1.打開下載的swoole包,在/swoole/examples/server/echo.php,這個文件建立了一個TCP服務器,監聽本機9501 端口swoole
echo.phpspa
<?php $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] client data: $data\n"; if ($serv->send($fd, "Server {$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();
2.啓動server,打開終端,運行echo.php .net
命令3d
php echo.php
這個時候,其實Server已經啓動了,而且正在運行,監聽了本機的9501端口,此時Server處於等待的狀態,因此沒有任何輸出。code
打開一個新窗口,用telnet鏈接
telnet 127.0.0.1 9501
輸入hi,結果以下
-------end-----