mac php Swoole入門


 

 

一、 swoole 擴展安裝

安裝前必須保證系統已經安裝了下列軟件

  • php-7.0 或更高版本
  • gcc-4.8 或更高版本
  • make
  • autoconf
  • pcre (CentOS系統可以執行命令:yum install pcre-devel)

下載地址:

編譯安裝:

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文件:

extension=swoole.so

通過php -mphpinfo()來查看是否成功加載了swoole.so,如果沒有可能是php.ini的路徑不對,可以使用php --ini來定位到php.ini的絕對路徑。

 

二、 swoole 應用

1.打開下載的swoole包,在/swoole/examples/server/echo.php,這個文件創建了一個TCP服務器,監聽本機9501 端口

echo.php

<?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 

命令

php echo.php

這個時候,其實Server已經啟動了,並且正在運行,監聽了本機的9501端口,此時Server處於等待的狀態,所以沒有任何輸出。

打開一個新窗口,用telnet連接

telnet 127.0.0.1 9501

輸入hi,結果如下

 

-------end----- 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM