1. 程式人生 > >centos安裝php擴充套件swoole及使用

centos安裝php擴充套件swoole及使用

swoole是一個PHP的非同步、並行、高效能網路通訊引擎,使用純C語言編寫,提供了PHP語言的非同步多執行緒伺服器,非同步TCP/UDP網路客戶端,非同步MySQL,非同步Redis,資料庫連線池,AsyncTask,訊息佇列,毫秒定時器,非同步檔案讀寫,非同步DNS查詢。 Swoole內建了Http/WebSocket伺服器端/客戶端、Http2.0伺服器端。 Swoole可以廣泛應用於網際網路、行動通訊、企業軟體、雲端計算、網路遊戲、物聯網(IOT)、車聯網、智慧家居等領域。 使用PHP+Swoole作為網路通訊框架,可以使企業IT研發團隊的效率大大提升,更加專注於開發創新產品。 注意事項: 1、server.php中的ip地址必須是外網可訪問地址

http://47.105.128.101,不能為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 --with-php-config=/usr/local/php/bin/php-config

make  && make install

提示: Build complete. Don't forget to run 'make test'.   Installing shared extensions:     /usr/lib64/php/modules/ 說明安裝成功

2、php載入swoole擴充套件

extension_dir = "/usr/lib64/php/modules/" 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(); ?>

<?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(); ?>

telnet 47.105.128.101 55152

Trying 47.105.128.101... Connected to 47.105.128.101. Escape character is '^]'. rr Swoole: rr 測試 Swoole: 測試