国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP 的 Phar 包原來(lái)性能這么強(qiáng)!

pakolagij / 3114人閱讀

摘要:想到還有包這個(gè)東西,我試圖用來(lái)解決這個(gè)問(wèn)題。功夫不負(fù)有心人,我終于為框架實(shí)現(xiàn)了打包的兼容和支持,測(cè)試結(jié)果表明使用進(jìn)行文件枚舉讀取,無(wú)論是在本地硬盤(pán)還是等網(wǎng)絡(luò)文件共享掛載,性能都比零散的文件性能更強(qiáng)。

之前有在群里看到人說(shuō),有一些 Swoole 框架啟動(dòng)速度慢,尤其是掛載的網(wǎng)絡(luò)硬盤(pán)下運(yùn)行尤其的慢。

我想,由于 Swoole 可以讓 PHP 應(yīng)用實(shí)現(xiàn)常駐內(nèi)存,所以啟動(dòng)時(shí)候勢(shì)必要掃描和加載許多文件,這應(yīng)該是導(dǎo)致啟動(dòng)速度慢的罪魁禍?zhǔn)住?/p>

想到 php 還有 phar 包這個(gè)東西,我試圖用 phar 來(lái)解決這個(gè)問(wèn)題。功夫不負(fù)有心人,我終于為 imi框架 實(shí)現(xiàn)了 phar 打包的兼容和支持,測(cè)試結(jié)果表明:

使用 Phar 進(jìn)行文件枚舉、讀取、include,無(wú)論是在本地硬盤(pán)還是 Samba 等網(wǎng)絡(luò)文件共享掛載,性能都比零散的文件性能更強(qiáng)。

phar 作用強(qiáng)大,可以直接用一個(gè)包來(lái)部署項(xiàng)目,但在傳統(tǒng) php 應(yīng)用開(kāi)發(fā)里 phar 其實(shí)并不受歡迎,因?yàn)闆](méi)有多少好處。而在Swoole環(huán)境下,越來(lái)越多的框架支持常駐內(nèi)存,可以在啟動(dòng)時(shí)加載完想要用的文件。

phar 從 php 5.3.0 開(kāi)始就已經(jīng)內(nèi)置支持,所以兼容性不需要擔(dān)心,也不需要安裝額外的擴(kuò)展。

我特意為此寫(xiě)了一個(gè)測(cè)試 Phar 文件枚舉、讀取、include 性能的 Demo:https://gitee.com/yurunsoft/P...

有興趣的朋友可以拉下來(lái),自己跑一下試試。

想要啟動(dòng) Phar 文件打包功能,首先要在 php.ini 中配置 phar.readonly = Off

Phar 打包代碼主要如下:

stopBuffering();
$phar->buildFromDirectory(__DIR__ . "/src");

實(shí)際應(yīng)用情況復(fù)雜,可以參考 php 官方文檔,根據(jù)實(shí)際情況略作修改。

原文地址:https://blog.yurunsoft.com/a/...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/29383.html

相關(guān)文章

  • 使用phar上線你代碼

    摘要:在我前一陣子寫(xiě)的一篇文章新版重構(gòu)之系統(tǒng)架構(gòu)中,很多人對(duì)其中提到的利用上線代碼比較感興趣,我就在這邊跟大家分享下我目前的做法。現(xiàn)有代碼需要做何處理嗎如果你的代碼結(jié)構(gòu)比較科學(xué)比如采用大部分框架的推薦結(jié)構(gòu),那么一行都不需要改變。 在我前一陣子寫(xiě)的一篇文章《新版 SegmentFault 重構(gòu)之系統(tǒng)架構(gòu)》中,很多人對(duì)其中提到的利用phar上線代碼比較感興趣,我就在這邊跟大家分享下我目前的做法。...

    MangoGoing 評(píng)論0 收藏0
  • CentOS7.0下編譯安裝PHP 5.6.21

    摘要:寫(xiě)在前面的話本文章緊接上一篇下編譯安裝。來(lái)完成常用的開(kāi)發(fā)集成環(huán)境的基本搭建,本篇來(lái)記錄的安裝,還是那些步驟。 寫(xiě)在前面的話 本文章緊接上一篇CentOS7.0下編譯安裝Nginx 1.10.0。來(lái)完成常用的web開(kāi)發(fā)集成環(huán)境lnmp的基本搭建,本篇來(lái)記錄php的安裝,還是那些步驟。 安裝編譯工具、依賴包及下載源碼包 解壓編譯 安裝 啟動(dòng) 編譯安裝 下載源碼 由于在上篇文章中編譯工具...

    Me_Kun 評(píng)論0 收藏0
  • CentOS7.0下編譯安裝PHP 5.6.21

    摘要:寫(xiě)在前面的話本文章緊接上一篇下編譯安裝。來(lái)完成常用的開(kāi)發(fā)集成環(huán)境的基本搭建,本篇來(lái)記錄的安裝,還是那些步驟。 寫(xiě)在前面的話 本文章緊接上一篇CentOS7.0下編譯安裝Nginx 1.10.0。來(lái)完成常用的web開(kāi)發(fā)集成環(huán)境lnmp的基本搭建,本篇來(lái)記錄php的安裝,還是那些步驟。 安裝編譯工具、依賴包及下載源碼包 解壓編譯 安裝 啟動(dòng) 編譯安裝 下載源碼 由于在上篇文章中編譯工具...

    FullStackDeveloper 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<