PHP文件上传停止

PHP文件上传停止,php,image,memory,upload,Php,Image,Memory,Upload,对于一个客户端,我构建了一个简单的脚本,可以上载多个文件(图像),调整它们的大小,将它们存储在一个临时文件夹中,然后将它们移动到目标位置 调整大小是使用PHP的GD完成的,因为Imagick不可用 这些图片大约是2/4 MB一张,客户端一次上传大约30张图片。 我使用了HTML5的multiple=”“属性,这一切都很好 在测试中,由于我使用了Windows标准的墙纸图像,所以一切正常 我找不到问题的根源。 当上载超过1个图像时,脚本调试失败,并告诉我它确实上载了第二个图像,但不会调整大小 我检

对于一个客户端,我构建了一个简单的脚本,可以上载多个文件(图像),调整它们的大小,将它们存储在一个临时文件夹中,然后将它们移动到目标位置

调整大小是使用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

有人为此而工作吗? 在这一点上,我想知道如果客户机需要如此多的内存来存储这些图像,那么将客户机放在共享主机上是否明智

在第二张图像中,内存达到了极限,使我的 脚本停止。对吗

检查(**nix system)
/var/log/apache2/error.log
下的Apache错误日志,看看这是否真的是问题所在

如果是这样,升级内存限制有多明智


您不应该在一个脚本中处理多个图像操作。对每一个进行ajax查询,在单独的实例中处理它们

感谢您的回复,检查了错误日志,没有错误errors@VincentCohen请确保已启用错误报告,并检查访问日志。根据我的经验,如果内存有问题,它应该总是删除一些日志记录。如果你看不到任何记录,那么你的问题可能根本不是内存问题。把我的头发拔出来。是错误日志记录作为测试手段已打开。任何日志中都没有消息。我知道我应该单独处理每个文件,而不是成批处理,但我也希望了解这一点用于测试用例。如果错误继续存在,所有文件都在处理中。谢谢但是我认为我不应该批处理文件,即使您只处理一个文件大小为4MB的图像,您可能需要更高的内存限制或不受限制(-1)。您有一个例子吗?还是最佳实践?从未处理过这么大的图片,我也不知道该如何处理。你可以看看这个帖子。我的公司和一个图像类一起工作,我们在我的第一个评论中就是这样做的<代码>ini_集('memory_limit','-1')/*用大图像做一些事情*/ini_restore(“内存限制”)