国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Yii2增加opcache命令行清理功能

2022-07-26 19:17 作者:星光免兔  | 我要投稿

opcache作為PHP的重要加速功能,可以在生產(chǎn)環(huán)境上大大地提升運行速度。如非極度追求速度需要上CLI類的框架,一般生產(chǎn)環(huán)境開啟opcache即可。

opcache的功能不再敘述,可以參考此文(https://segmentfault.com/a/1190000023731765?utm_source=tag-newest)。

opcache的效果立竿見影,但是有一個很嚴(yán)重的問題。就是php-fpm的緩存,只能在php-fpm運行php腳本進(jìn)行清理。簡單來說,就是必須暴露一個接口進(jìn)行瀏覽器訪問才能清理,而不能在命令行完成。Cli的opcache緩存與fpm的opcache緩存是完全獨立的。下面就簡單介紹一下在YII2如何利用命令行進(jìn)行解決。

  1. 在frontend的模塊創(chuàng)建可訪問控制器,定義該控制器只能127.0.0.1(內(nèi)網(wǎng))才能訪問。代碼如下:

講解:這里是使用了REST控制器,并且聲明了reset方法不用權(quán)限驗證即可訪問。

2、在connsole的模塊創(chuàng)建可訪問控制器,使用Curl遠(yuǎn)程訪問frontend的opcache控制器對字節(jié)碼緩存進(jìn)行清理。代碼如下:

講解:實現(xiàn)遠(yuǎn)程訪問的方式有多樣,方法一是curl直接訪問(無需PHP,但是服務(wù)器必須先安裝curl),方法二是使用php的執(zhí)行exec命令,方法三是使用php腳本。

方法一:

優(yōu)點:curl直接訪問運行速度快,例?curl 127.0.0.1/opcache/reset

缺點:要求服務(wù)器必須先安裝curl,并且每次都需要手敲命令行,敲錯是在所難免,或者寫稱sh腳本


方法二:

優(yōu)點:php的執(zhí)行exec命令,執(zhí)行的命令同方法一。也是執(zhí)行速度相對更快,能使用參數(shù)輸入地址,例php yii /opcache/reset (127.0.0.1:xxxx),也可以自定義baseUrl。

缺點:要求服務(wù)器必須先安裝curl,并且方法二的本質(zhì)還是方法一,如果追求速度不如直接用方法一。


方法三:

優(yōu)點:使用yii\httpclient\Client進(jìn)行請求,服務(wù)器是否安裝curl不影響,并且具備配置設(shè)置baseUrl的靈活性,能使用參數(shù)輸入地址,例php?yii?/opcache/reset (127.0.0.1:xxxx)。

缺點:執(zhí)行速度是三種方式重最慢的。


本人最終采用方法三,是感覺竟然采用yii2編寫命令行腳本,還使用exec執(zhí)行的話,那不如直接寫curl的命令,或者sh腳本。采用方法三的方式編寫后,還可以分享給大家使用。


服務(wù)器每次更新代碼后,只需要執(zhí)行php?yii?/opcache/reset即可。如果非80端口,請自行預(yù)配置。但是如果覺得上面的命令行還是太長的話,本人還會寫一層npm的scripts簡化腳本("oc": "php yii /opcache/reset",),直接執(zhí)行npm run oc。


果然懶惰才是促進(jìn)科技發(fā)展的動力(笑)。


Yii2增加opcache命令行清理功能的評論 (共 條)

分享到微博請遵守國家法律
海兴县| 汶上县| 杨浦区| 尚义县| 龙井市| 象山县| 永定县| 金山区| 楚雄市| 梁河县| 陈巴尔虎旗| 长治市| 留坝县| 大埔区| 蒙山县| 石棉县| 资中县| 巫溪县| 屯昌县| 新田县| 宜城市| 广水市| 临清市| 樟树市| 朝阳市| 雷波县| 清新县| 北碚区| 孟州市| 湖州市| 霍州市| 县级市| 焉耆| 调兵山市| 略阳县| 邵阳市| 洮南市| 苏尼特左旗| 田阳县| 桦甸市| 门头沟区|