Hyperf中PHP-FPM和Cli有什么區(qū)別-創(chuàng)新互聯(lián)

這篇文章主要介紹了Hyperf中PHP-FPM和Cli有什么區(qū)別,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊(duì)十余年來致力于為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、高端網(wǎng)站設(shè)計(jì)全網(wǎng)營銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了成百上千網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。

Hyperf的官方介紹:

Hyperf 是基于 Swoole 4.5+ 實(shí)現(xiàn)的高性能、高靈活性的 PHP 協(xié)程框架,內(nèi)置協(xié)程服務(wù)器及大量常用的組件,性能較傳統(tǒng)基于 PHP-FPM 的框架有質(zhì)的提升,提供超高性能的同時(shí),也保持著極其靈活的可擴(kuò)展性,標(biāo)準(zhǔn)組件均基于 PSR 標(biāo)準(zhǔn) 實(shí)現(xiàn),基于強(qiáng)大的依賴注入設(shè)計(jì),保證了絕大部分組件或類都是 可替換 與 可復(fù)用 的。

Hyperf 是命令行Cli模式運(yùn)行,PHP-FPM模式就是我們常用的模式,其中ThinkPHP,Laravle,Ci等框架都是此種模式,新版的TP和Laravle也支持了Cli模式!

兩種模式較大區(qū)別就是:

PHP-FPM是:每次響應(yīng)請(qǐng)求,都要從入口文件開始初始化框架,經(jīng)過路由轉(zhuǎn)發(fā)到控制器執(zhí)行得到結(jié)果并返回響應(yīng)!

Cli是:啟動(dòng)框架之后,框架會(huì)常駐內(nèi)存,啟動(dòng)一次他會(huì)注冊服務(wù)到系統(tǒng),監(jiān)聽我們的web端口(80或者9501等可以自定義端口),然后每次響應(yīng)請(qǐng)求都不需要在加載框架的文件,直接路由識(shí)別到控制器給你執(zhí)行邏輯代碼返回結(jié)果!

所以Hyperf框架的性能是遠(yuǎn)高于TP等傳統(tǒng)框架的。一個(gè)只需要加載一次,他就一直在樓下等你。一個(gè)是你每次找他,他每次加載一次從樓上下來見你。

Hyperf環(huán)境要求:

Hyperf僅可運(yùn)行于 Linux 和 Mac 環(huán)境下,也就是說我們的Windos電腦不支持,但是在Windows下可以使用Docker for Windows 來作為運(yùn)行環(huán)境。

運(yùn)行環(huán)境的要求:

  • PHP >= 7.3

  • Swoole PHP 擴(kuò)展 >= 4.5,并關(guān)閉了 Short Name

  • OpenSSL PHP 擴(kuò)展

  • JSON PHP 擴(kuò)展

  • PDO PHP 擴(kuò)展 (如需要使用到 MySQL 客戶端)

  • Redis PHP 擴(kuò)展 (如需要使用到 Redis 客戶端)

  • Protobuf PHP 擴(kuò)展 (如需要使用到 gRPC 服務(wù)端或客戶端)

Hyperf的安裝:

需要使用composer,如果您的composer是用的是國外鏡像,那就非常慢,這里分享一個(gè)速度很快的鏡像地址:

composer鏡像地址

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

Hyperf的安裝composer命令

在安裝過程中有一系列的詢問,直接回車跳過即可,他都是問你是否安裝各種組件,我們都可以跳過,以后需要用什么在根據(jù)文檔的命令安裝即可!

composer create-project hyperf/hyperf-skeleton

至此Hyperf框架就安裝結(jié)束了,但是這里還有一個(gè)坑需要注意,必須關(guān)閉swoole的Short Name!

在extension = swoole.so下面加上swoole.use_shortname = off 即可,示例如下:

[swoole]
extension = swoole.so
swoole.use_shortname = off

啟動(dòng)項(xiàng)目:

啟動(dòng)項(xiàng)目需要在框架根目錄中找到bin目錄,里面有一個(gè) hyperf.php 文件

在框架bin目錄下執(zhí)行命令:

php hyperf.php start

若在框架根目錄就需要帶bin路徑:

php bin/hyperf.php start

由于 Hyperf 是持久化的 CLI 框架,當(dāng)您修改完您的代碼后,通過 CTRL + C 終止當(dāng)前啟動(dòng)的進(jìn)程實(shí)例,并重新執(zhí)行 php bin/hyperf.php start 啟動(dòng)命令即可。

端口被占用怎么辦?

若是啟動(dòng)過之后,后面在此啟動(dòng)發(fā)現(xiàn)端口被占用,那就查詢一下端口進(jìn)程id,殺死進(jìn)程就可以再次啟動(dòng)!

netstat -tunlp | grep 9501
tcp  0  0 0.0.0.0:9501    0.0.0.0:*   LISTEN 15893/skeleton.Mast
kill 15893

netstat -tunlp | grep 9501 是查詢9501端口的進(jìn)程

kill 15893 是殺死15893進(jìn)程

框架啟動(dòng)之后測試訪問:http://ip:端口

假設(shè)服務(wù)器Ip是:47.33.112.136

假設(shè)端口是:9501

那么訪問地址就是:http://47.33.112.136:9501

到此,我們就把框架的安裝,啟動(dòng),訪問完成了!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Hyperf中PHP-FPM和Cli有什么區(qū)別”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

分享標(biāo)題:Hyperf中PHP-FPM和Cli有什么區(qū)別-創(chuàng)新互聯(lián)
文章源于:http://muchs.cn/article40/dpdceo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管