建议将intervention/image升级到最新版本

katray608

问题描述

最近做图片处理的时候,发现webman自动安装的intervention/image版本过于老旧,频繁出现内存泄露(传2M的图内存消耗140多M,导致报错。并不是所有图片会这样,是个别图片会这样),另外还出现手机端上传图片出现旋转的情况(传图后,不会正确的校正图片方位,如竖向的图,上传图片会变成横向图,该问题在ios端出现),另外还有些小问题。

目前我已经手动升级了intervention/image 3.7版本,已经解决上述问题。

建议官方把自动安装intervention/image依赖包的版本升到最新版本,现在已经是3.7版本了。

683 3 0
3个回答

walkor 打赏

webman框架本身没有依赖或者强制 intervention/image 版本。
webman-admin有设置版本,后续会陆续更新到最新版本。

  • 暂无评论
waterman

你好,请问下我执行 composer require intervention/image:^3.7 升级 不成功怎么解决、

Problem 1

  • Root composer.json requires intervention/image 3.7 (exact version match: 3.7, 3.7.0 or 3.7.0.0), found intervention/image[3.7.0] but these were not loaded, likely because it conflicts with another require.
    Problem 2
  • webman/admin is locked to version v0.6.31 and an update of this package was not requested.
  • webman/admin v0.6.31 requires intervention/image ^2.7 -> found intervention/image[2.7.0, 2.7.1, 2.7.2] but it conflicts with your root composer.json require (3.7).
  • katray608 2024-09-20

    webman/admin设置了版本,你升级不了的,进webman/admin里改下intervention/image版本,改成最新版

  • katray608 2024-09-20

    升级版本后,你项目里涉及到图片处理的接口,要改下代码,不然会出错,可以看下intervention/image文档

laodage

有个问题,这个情况我也遇到了,但是我的php版本是7.3且项目已经进入测试阶段了,升级3.7需要php>=8.1,这种情况我该如何解决?

  • walkor 2024-10-16

    处理2M图片占用很大内存之前有人调试过,好像gd扩展版本有关系。
    如果是内存问题可以加大下 memory_limit。
    也可以尝试手动下载静态PHP测试下,下载地址 https://www.workerman.net/download

  • laodage 2024-10-16

    大概率是和GD扩展有关系,因为具体报错是:
    PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /www/wwwroot/home_admin/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php on line 154

    我试试是否可以更新gd库解决这个问题

  • laodage 2024-10-16

    这个问题不用解决了,限制下图片的宽高就好了,gd扩展处理图片,如果图片的宽高过于高,就会占用很大的内存,导致上面这个报错。所以上传图片的时候限制一下

×
🔝