Phar打包后内存过高问题

FlyLow

问题描述

1.打包内存占用情况
截图
2.不打包内存占用情况
截图
有解决方案吗?还是phar就是这个特点

831 4 0
4个回答

tanhongbin

为啥你打包 完这么大 ?你的看看你打包了啥?

  • FlyLow 2023-08-08

    主要是vendor大 但是不打vendor 跑不起来

  • tanhongbin 2023-08-09

    这种 就用 静态 php吧 别打包了,你的代码 过多了

  • FlyLow 2023-08-09

    目前已经更换为源码部署了 源码部署之后感觉比phar打包更快更稳定了

  • tanhongbin 2023-08-09

    源码 配合静态php 不需要装php环境 很棒,我现在就这么用

  • FlyLow 2023-08-09

    妙啊 不过现在服务器大多都有宝塔 等需要静态php的时候我试一试

  • tanhongbin 2023-08-09

    嗯嗯

  • kspade 2023-08-10

    phar打包后是每个进程 = 1一个独立PHP环境

  • FlyLow 2023-08-10

    不太清楚意义在哪里,好像没有考虑vendor依赖的问题,和Java的Jar还是有区别

  • tanhongbin 2023-08-10

    存在就是有一定的意义,不过还是建议使用静态php哪个 省心

  • FlyLow 2023-08-10

    之前包大小还没到还这么大的时候我一直用Phar打包,用起来也很方便,后来一启动就用两三个G内存,就没法用了

  • tanhongbin 2023-08-10

    我现在用哪个 静态php 太好用了 ,你可以看看 好用多了

  • kspade 2023-08-10

    我是打包的二进制没啥毛病 ,打包完成 230M 运行起来 128M左右内存 PHP 8.0

  • FlyLow 2023-08-11

    PHP8.2 暂时还没试过二进制包 你看看每个进程占用的内存量

luohonen

phar打包 排除掉vendor, phar文件与vendor 放在平行目录下就能运行

  • FlyLow 2023-08-14

    试过了 在我本地不行

  • JackDx 2023-10-20

    我也不行阿 。怎么放的?

JackDx

我也是 好大 有解决部分吗? 打包多方便阿 很方便我分发。

JackDx

截图

  • yongdao35 2023-10-20

    提示那么明显,静态php不支持动态加载扩展
    运行 ./php --ini 找到php.ini文件,把里面extension=xxx的部分都注释掉

  • JackDx 2023-10-20

    我看文档有写支持这些扩展呀?没有打包到静态php里面吗?

  • yongdao35 2023-10-20

    我没说明白么?
    静态php读取了你磁盘上的php.ini文件,里面设置了动态加载扩展extension=xxx,静态php不支持动态加载扩展。
    而且zip fileinfo等这些扩展静态php已经内置了,不需要再动态加载了。
    所以你只需要将php.ini中所有extension=xxx的部分注释掉就好了

    还有,你们新问题应该发新的帖子,在别人发的帖子下面发新的问题然后不断回复,会骚扰很多不相关的人,尤其是题主,这很不礼貌!!!!!

  • JackDx 2023-10-20

    不好意思

  • tanhongbin 2023-10-20

    为啥静态php 会读取 他磁盘上的ini文件呢,不应该呀

  • JackDx 2023-10-20

    我复制了一份ini文件 然后php -c 读取指定ini文件解决了,感谢大家~

  • tanhongbin 2023-10-20

    我就是没太理解 ,为啥静态php 为啥会走 其他php环境的ini文件,我这里是不会的,静态php自己带有扩展,就不会走到其他的ini文件,很迷

🔝