PHP 的 Phar 包原来性能这么强!

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP 的 Phar 包原来性能这么强!脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

之前有在群里看到人说,有一些 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/P...

有兴趣的朋友可以拉下来,自己跑一下试试。

想要启动 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 官方文档,根据实际情况略作修改。

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

脚本宝典总结

以上是脚本宝典为你收集整理的PHP 的 Phar 包原来性能这么强!全部内容,希望文章能够帮你解决PHP 的 Phar 包原来性能这么强!所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。