转换大量图像的最佳实践(imagick和PHP)

时间:2016-05-30 03:23:57

标签: php imagemagick imagick

我已经设置并完成了将图像从jpeg / png转换为webp的编码。我将用它来转换数百张图像。但PHP有一个超时限制,并将其更改为大数字有点非正统(或者是吗?)。现在,我这样做是使用浏览器执行页面,然后开始转换,然后在转换所有图像之前达到超时限制,所以我必须刷新页面,以便它再次开始转换。这已经有效了。它感觉不对,所以我的问题是,你有什么建议可以更恰当地做到这一点吗?或者更传统?

希望有人可以帮助我。

由于

1 个答案:

答案 0 :(得分:2)

您可以采取一些措施:

  1. 通过命令行而不是通过网络浏览器执行PHP 。命令行版本没有最大执行时间限制。
  2. 将工作分成块。找出一种分解图像的方法,以便您可以一次转换批次。
  3. 考虑实施异步作业队列。如果要转换这些图像以响应用户与网站的交互,请考虑将转换计划为通过作业异步运行。这也可以让您利用上面的第1点。
  4. 考虑在其他服务器上运行脚本。您不必在生产Web服务器上运行此类作业。您可以设置一个单独的服务器,仅用于执行此类操作,以便它不会从用户那里获取处理能力。它甚至可以是一个临时服务器,如果不经常发生转换,则使用后续使用和关闭。