对于客户端,我构建了一个简单的脚本,可以上传多个文件(图像),调整大小,将它们存储在临时文件夹中,然后再将它们移动到目的地。
调整大小是使用PHP的GD完成的,因为Imagick不可用。
这些图片大约是2/4 MB,客户端一次上传大约30张图片。 我使用HTML5的multiple =“”属性,一切正常。
在测试中一切正常,因为我使用的是Windows标准壁纸图像。
我找不到问题的根源。 当上传超过1个图像时,脚本错误调试告诉我它上传第二个图像但不会调整大小。
我检查了每个大概 105724352字节的图像的内存使用情况。
我的PHP ini设置:
max_execution_time = 300
max_input_time = 600
memory_limit = 200M
所以你看到第二张图片的内存达到了极限,让我的脚本停止了。这是对的吗?
如果是这样,升级内存限制有多明智?
提前致谢!
修改
现在看来GD函数imagecreatefromjpeg
无法处理分辨率大于3500px宽的文件,我的文件大于5000px宽。
有没有人为此工作? 在这一点上,我想知道如果将客户端放在共享主机上是否明智,如果他需要这么多内存来存储这些图像。
答案 0 :(得分:3)
所以你看到第二张图片的内存达到了极限,让我的 脚本停止。这是对的吗?
检查(** nix系统)/var/log/apache2/error.log
下的Apache错误日志,看看它是否真的出问题。
如果是这样,升级内存限制有多明智?
您不应该在一个脚本中进行多个图像操作。对每个进行ajax查询,在单独的实例中处理它们。