我正在使用GregWar图像包来处理我网站上的图片:
https://github.com/Gregwar/Image/
在出现错误并将应用程序破坏几个小时之前,它一直运行良好,直到我发现问题并删除了图像,因此它不会阻止应用程序的负载。
用户上传了一个透明的PNG 8000x7000px大片(是的,图片描述具有讽刺意味)
当尝试调整此图片大小并且仅返回白页时,应用程序死机,503错误。
在我的本地计算机上,我可以调整它的大小并且不会发生错误。服务器是功能强大的Centos 7,具有足够的资源。
这个案例的最佳解决方案是什么?
答案 0 :(得分:1)
您提及的捆绑包似乎使用GD PHP扩展来调整图片。这种扩展似乎无法处理内存方面的大图片。 您可以更改您用于另一个的捆绑包(如Imagick库,但您可能会遇到同样的问题)。
您也可以如您所说,增加服务器上的PHP限制,但此解决方案有其限制,具体取决于您拥有的服务器内存。 我建议对上传文件大小(如果你上传图片)和图片尺寸加以限制。
您还可以使用一些客户端解决方案在上传之前调整图片大小。