Symfony2,GregWar图像包由于图片大小而崩溃

时间:2015-02-25 22:54:45

标签: image symfony gd

我正在使用GregWar图像包来处理我网站上的图片:

https://github.com/Gregwar/Image/

在出现错误并将应用程序破坏几个小时之前,它一直运行良好,直到我发现问题并删除了图像,因此它不会阻止应用程序的负载。

用户上传了一个透明的PNG 8000x7000px大片(是的,图片描述具有讽刺意味)

enter image description here

当尝试调整此图片大小并且仅返回白页时,应用程序死机,503错误。

在我的本地计算机上,我可以调整它的大小并且不会发生错误。服务器是功能强大的Centos 7,具有足够的资源。

这个案例的最佳解决方案是什么?

  1. 我是否应该增加内存限制或类似内容? (目前400MB)
  2. 防止上传这类图片?

1 个答案:

答案 0 :(得分:1)

您提及的捆绑包似乎使用GD PHP扩展来调整图片。这种扩展似乎无法处理内存方面的大图片。 您可以更改您用于另一个的捆绑包(如Imagick库,但您可能会遇到同样的问题)。

您也可以如您所说,增加服务器上的PHP限制,但此解决方案有其限制,具体取决于您拥有的服务器内存。 我建议对上传文件大小(如果你上传图片)和图片尺寸加以限制。

您还可以使用一些客户端解决方案在上传之前调整图片大小。