3 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
操作方法如下:
$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC); //同步阻塞
$client->connect('127.0.0.1', 9501) or die("connect failed\n");
$client->send(str_repeat("A", 600));
$data = $client->recv(700, 0) or die("recv failed\n);;
echo "recv: ",$data,"\n";

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
但這里就開(kāi)始出現(xiàn)了第一個(gè)問(wèn)題,我們知道,php是一個(gè)腳本語(yǔ)言,腳本語(yǔ)言的核心特點(diǎn)在于不用編譯,隨時(shí)執(zhí)行,而執(zhí)行腳本的工具就是解析器,而php的解析器就是zend引擎。
嚴(yán)格來(lái)說(shuō),zend并不是唯一的選擇,不過(guò),zend是最官方的。另外,Zend Studio和Zend Engine不是同一個(gè)東西,本文中的Zend全部指Zend Engine。
換個(gè)角度講,只要有解析器,寫(xiě)好的php腳本就是可以執(zhí)行的,而zend引擎與apache之間并沒(méi)有絕對(duì)的關(guān)系
實(shí)際上,apahce是調(diào)用了zend對(duì)php腳本進(jìn)行執(zhí)行,然后將執(zhí)行結(jié)果輸出給了瀏覽器
所以所謂cli模式(CommandLine,命令行模式),其實(shí)就是在命令行下直接調(diào)用zend引擎對(duì)php腳本進(jìn)行解析并執(zhí)行,并獲得程序輸出結(jié)果的php腳本執(zhí)行方式。
其實(shí)php也可以作為shell腳本來(lái)使用哦,就像bash shell一樣
既然問(wèn)題講清楚了,在一個(gè)系統(tǒng)中具體怎么操作呢?
本文以CentOS 7.5作為系統(tǒng)環(huán)境,swoole是針對(duì)Linux系統(tǒng)開(kāi)發(fā)的,windows下并不適用。學(xué)習(xí)swoole的一個(gè)前題是懂得基本的linux系統(tǒng)使用。
當(dāng)安裝好php的時(shí)候,找到php的安裝目錄,如果是默認(rèn)安裝的話(huà),可以試試whereis命令

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
操作方法如下:
$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC); //同步阻塞
$client->connect('127.0.0.1', 9501) or die("connect failed\n");
$client->send(str_repeat("A", 600));
$data = $client->recv(700, 0) or die("recv failed\n);;
echo "recv: ",$data,"\n";
- 3 回答
- 0 關(guān)注
- 583 瀏覽
添加回答
舉報(bào)