上传图片时,使用GD库imagecreatefromjpeg() 生成缩略图 提示超时

上传图片时,使用GD库的imagecreatefromjpeg()生成缩略图,总共处理10张照片,照片大小3-5M左右,然后提示Fatal error: Maximum execution time of 30 seconds exceeded,请问大家这是什么原因,怎样解决?

补充:
发现GD在裁剪缩略图片时,所用时间长短与图片文件大小像素尺寸大致成正比关系。我使用的是phpthumb,处理5张3-5M照片大概需要27s,当处理10张3-5M照片大概需要47s,解决超时问题可以把php.ini的max_execution_time值设置大点。如果从用户体验角度来讲,这样等待的时间有点长,有什么方法能使所用时间缩短?

阅读 5k
2 个回答
// 获取 php 配置文件中设置的脚本执行时间
$max_execution_time = ini_get('max_execution_time');
// 表示 php 脚本执行时间无限制
set_time_limit(0)

// 执行图片处理任务

// 任务执行完后,还原
set_time_limit($max_execution_time);

性能最好的方法是用GPU处理图片,服务器支持OpenCL的可以考虑一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题