1. 程式人生 > >Linux 安裝php擴展 swoole

Linux 安裝php擴展 swoole

成功 world HR cti RM fcm failed ctas udp

swoole是一個PHP的異步、並行、高性能網絡通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端。
Swoole可以廣泛應用於互聯網、移動通信、企業軟件、雲計算、網絡遊戲、物聯網(IOT)、車聯網、智能家居等領域。 使用PHP+Swoole作為網絡通信框架,可以使企業IT研發團隊的效率大大提升,更加專註於開發創新產品。

註意事項:
1、server.php中的ip地址必須是外網可訪問地址 123.57.232.99,不能為localhost


1、安裝
# wget https://github.com/swoole/swoole-src/archive/swoole-1.7.6-stable.tar.gz
# tar zxvf swoole-1.7.6-stable.tar.gz
# cd swoole-1.7.6-stable
# phpize
# ./configure
# make && make install

提示:
Build complete.
Don‘t forget to run ‘make test‘.

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
說明安裝成功


2、php加載swoole擴展


extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"
extension=swoole.so

3、重啟服務
service php-fpm restart
service nginx restart


4、測試,查看phpinfo信息,如下圖所示:
技術分享圖片



技術分享圖片

5、代碼測試

server.php代碼:
<?php
$serv = new swoole_server("123.57.232.99", 55152);
$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();
?>


client.php代碼
<?php
$client = new swoole_client(SWOOLE_SOCK_TCP);
if (!$client->connect(‘123.57.232.99‘, 55152, -1))
{
exit("connect failed. Error: {$client->errCode}\n");
}
$client->send("hello world\n");
echo $client->recv();
$client->close();
?>


首先啟動服務:
[root@iZ25l6q4losZ swoole]# php server.php
Client:Connect.

然後linux終端 telnet測試
# telnet 123.57.232.99 55152
Trying 123.57.232.99...
Connected to 123.57.232.99.
Escape character is ‘^]‘.
rr
Swoole: rr
測試
Swoole: 測試
技術分享圖片
技術分享圖片

Linux 安裝php擴展 swoole