>  Q&A  >  본문

php - 上传图片时,使用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值设置大点。如果从用户体验角度来讲,这样等待的时间有点长,有什么方法能使所用时间缩短?

伊谢尔伦伊谢尔伦2735일 전354

모든 응답(2)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-04-11 09:18:35

    // 获取 php 配置文件中设置的脚本执行时间
    $max_execution_time = ini_get('max_execution_time');
    // 表示 php 脚本执行时间无限制
    set_time_limit(0)
    
    // 执行图片处理任务
    
    // 任务执行完后,还原
    set_time_limit($max_execution_time);

    회신하다
    0
  • PHPz

    PHPz2017-04-11 09:18:35

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

    회신하다
    0
  • 취소회신하다