公司同事反馈说我们的后台,经常图片上传失败 http状态码报500 第一阶段 : 哥们第一反应就是 他网不好让他换wifi 第二阶段: 格式不对 , 自己在后台加入 流判断 第三阶段: 图片太大 压缩
公司同事反馈说我们的后台,经常图片上传失败 http状态码报500
第一阶段 : 哥们第一反应就是 他网不好让他换wifi
第二阶段: 格式不对 , 自己在后台加入 流判断
第三阶段: 图片太大 压缩一下
经历着这些应该说,总该好把 可是还是没有, 这样领导也说了 ,能不能把它弄好了,我也痛定思痛 好好研究一番问题的根源 开始解决问题:
捕获错误 : 发现捕获不了,程序直接死了;
是不是版本问题: 各种测试发现不是
内存问题: 调大内存就好了
问题是解决了但是我们不能止步于此,我们要找到其根源 为啥需要那么大的内存 比他大的图片同样的内存都可以正常上传这是为什么呢:
我们发现A 5.44兆 B3.75兆 ,但是A确可以正常上传 ,B就一直报错 我这种的内存是128M还报错
不跟大家卖关子了 问题出自 创建画布上
GD库创建画布时是8个字节放一个像素 需要多少内存呢 计算公式 : 长 * 宽 * 8 / 1024 /1024
所以图片A需要 93M ; B 图片需要 181.5M