1. 程式人生 > >swoole 安裝方法

swoole 安裝方法

mac all 得到 nod 成功 apt 異步 自由軟件 網絡

最近想用PHP寫一個聊天網站,於是註意到了swoole這個擴展,看上它就是因為事件驅動異步非阻塞。

Swoole可以廣泛應用於互聯網、移動通信、企業軟件、網絡遊戲、物聯網、車聯網、智能家庭等領域。 使用PHP+Swoole作為網絡通信框架,可以使企業IT研發團隊的效率大大提升,更加專註於開發創新產品。

Swoole底層內置了異步非阻塞、多線程的網絡IO服務器。PHP程序員僅需處理事件回調即可,無需關心底層。與Nginx/Tornado/Node.js等全異步的框架不同,Swoole既支持全異步,也支持同步。

Swoole是開源免費的自由軟件,授權協議是Apache2.0。企業和開發者均可免費使用Swoole的代碼,並且在Swoole之上所作的修改可用於商業產品,無需開源。

  • 國內Git鏡像:http://git.oschina.net/matyhtf/swoole.git
  • 新手入門教程:https://github.com/LinkedDestiny/swoole-doc

以上這段話摘自swoole官網,http://www.swoole.com/。

以下是我在Debain系統裏的安裝過程。我在Ubuntu14.04裏是按照官方視頻教程的過程,下載源碼並本地編譯完成的,如果有同學想挑戰一下,也可以到http://wiki.swoole.com/wiki/page/230.html去跟著Rango安裝。

swoole僅支持Linux/FreeBSD/Mac,如果你使用的是Windows系統,請安裝一個虛擬機,VirtualBox/VMWare都可以。然後在虛擬機裏安裝Linux。
swoole已經加入到PHP的官方擴展庫中,所以在Linux系統裏只需要執行

pecl install swoole

但是,我在第一次安裝的時候遇到了一個問題,提示我本機沒有安裝phpize,於是

sudo apt-get update
sudo apt-get install php5-dev

再次執行安裝命令,接下來又提示我編譯錯誤, 技術分享

缺少pcre.h ,於是

sudo apt-get install libpcre3 libpcre3-dev

再次執行安裝命令,終於

技術分享

於是按照提示,在php.ini添加extension=swoole.so

輸入php –m 得到以下結果

技術分享

恭喜你,安裝成功了。

可以新建一個server.php 的demo測試一下

<?php
    $serv = new swoole_server("0.0.0.0", 9501);
    $serv->on(connect, function ($serv, $fd){
            echo "Client:Connect.\n";
    });
    $serv->on(receive, function ($serv, $fd, $from_id, $data) {
            $serv->send($fd, Swoole: .$data);
    });
    $serv->on(close, function ($serv, $fd) {
            echo "Client: Close.\n";
    });
    $serv->start();

?>

執行 php server.php

新開一個終端,使用telnet連接到你的服務器:

telnet 127.0.0.1 9501
> hello world
> Swoole: hello world

如果提示地址沖突,可以更改源代碼中的“9051”端口。

swoole 安裝方法