PHP 大图片操作导致内存崩溃及超时的问题

项目有时需要对图片进行采集,并进行采集后的处理,如:生成略缩图、裁剪、调整大小等。

采集受到网络和系统性能影响,经常会超出PHP默认的响应时间限制(30s),为此在操作时间有可能很长的函数前应设置可以接受的响应时间:

set_time_limit(0);//0代表不做任何时间限制。


采集完成后,对图像等文件进行操作,如生成图像略缩图等,若采集的文件比较大(或者是相机上传的原始图片没有进行裁剪和压缩),则会出现内存不够的错误:

此时需要对PHP的内存分配大小进行调整:

ini_set("memory_limit", "512M"); //默认貌似是128M

有些服务器环境可能做了安全限制,此时不能通过代码进行修改,则需修改PHP.ini文件中的

memory_limit = 128M

选项进行更改。这个内存大小参考所在服务器性能配置,不宜过大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值