首頁 >后端開發 >php教程 > 正文

PHP的Phar包原來性能這么強

轉載2019-11-30 18:02:330880
第十期線上培訓班
之前有在群里看到人說,有一些 Swoole 框架啟動速度慢,尤其是掛載的網絡硬盤下運行尤其的慢。

我想,由于 Swoole 可以讓 PHP 應用實現常駐內存,所以啟動時候勢必要掃描和加載許多文件,這應該是導致啟動速度慢的罪魁禍首。

想到 php 還有 phar 包這個東西,我試圖用 phar 來解決這個問題。功夫不負有心人,我終于為 imi框架 實現了 phar 打包的兼容和支持,測試結果表明:

使用 Phar 進行文件枚舉、讀取、include,無論是在本地硬盤還是 Samba 等網絡文件共享掛載,性能都比零散的文件性能更強。

phar 作用強大,可以直接用一個包來部署項目,但在傳統 php 應用開發里 phar 其實并不受歡迎,因為沒有多少好處。而在Swoole環境下,越來越多的框架支持常駐內存,可以在啟動時加載完想要用的文件。

phar 從 php 5.3.0 開始就已經內置支持,所以兼容性不需要擔心,也不需要安裝額外的擴展。

我特意為此寫了一個測試 Phar 文件枚舉、讀取、include 性能的 Demo:

https://gitee.com/yurunsoft/PharTest

有興趣的朋友可以拉下來,自己跑一下試試。

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

Phar 打包代碼主要如下:

<?php
$fileName = __DIR__ . '/test/test.phar';
if(is_file($fileName))
{
    unlink($fileName);
}
$phar = new Phar($fileName);
$phar->stopBuffering();
$phar->buildFromDirectory(__DIR__ . '/src');

實際應用情況復雜,可以參考 php 官方文檔,根據實際情況略作修改。

以上就是PHP的Phar包原來性能這么強的詳細內容,更多請關注php中文網其它相關文章!

php中文網最新課程二維碼
  • 相關標簽:PHP
  • 本文轉載于:segmentfault,如有侵犯,請聯系[email protected]刪除
  • 相關文章

    相關視頻


    網友評論

    文明上網理性發言,請遵守 新聞評論服務協議

    我要評論
  • 專題推薦

    作者信息

    藏色散人

    好好學習天天向上!

    最近文章
    關于 PHP 開發中遇到的 error140
    VPN啥意思755
    怎么把ppt保存到u盤里855
    推薦視頻教程
  • 《20天入門精通PHP》視頻教程《20天入門精通PHP》視頻教程
  • phpStudy V8 視頻教程phpStudy V8 視頻教程
  • PHP文件基礎操作PHP文件基礎操作
  • PHP開發免費公益直播課PHP開發免費公益直播課
  • 視頻教程分類
    第十期線上培訓班 足彩吧合买平台