?
1. 確認安裝環境
- 僅支持Linux操作系統,核心代碼兼容FreeBSD,需要調整某些編譯的參數和細節才能通過
- Linux內核版本2.3.32以上
- PHP5.3.10以上版本
- gcc4.4以上版本。核心代碼兼容clang,需要關閉CPU親和設置特性
- cmake2.4+,編譯為libswoole.so作為C/C++庫時,需要使用cmake
?
2. 安裝與配置
2. 1安裝swoole:可pecl直接在線安裝,或下載
releases版本的swoole編譯安裝
?2.11 pecl安裝swoole擴展
pecl不可用的請確認php安裝目錄的bin目錄已加入系統變量
1
|
# pecl install swoole?
|
?2.12編譯安裝swoole擴展
從此處下載: http://pecl.php.net/package/swoole
1
2
3
4
|
# cd swoole
# phpize
# ./configure
# make && make install
|
2.2配置php.ini
phpinfo()確認Configuration File (php.ini) Path
添加:
1
|
extension=swoole.so
|
重啟Apache查看php擴展庫
1
2
|
# service httpd restart
# php -m
|
確認swoole已添加
官方文檔: http://wiki.swoole.com/wiki/index/prid-1
?
3.測試
server.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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();
?>
|
client.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
????
$client
=
new
swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
????
$client
->on(
"connect"
,
function
(
$cli
) {
????????
$cli
->send(
"hello world\n"
);
????
});
????
$client
->on(
"receive"
,
function
(
$cli
,
$data
){
????????
echo
"Receive: $data\n"
;
????
});
????
$client
->on(
"error"
,
function
(
$cli
){
????????
echo
"connect fail\n"
;
????
});
????
$client
->on(
"close"
,
function
(
$cli
){
????????
echo
"close\n"
;
????
});
????
$client
->connect(
'127.0.0.1'
, 9501, 0.5);
?>
|
Test:
?
測試Server:
???
????測試Client:
???
?
?
End.
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
