一尘不染

PHP致命错误:内存不足(已分配80740352)(试图分配12352字节)

php

用户在我的网站上上传图像时出现此错误。

错误消息是“ PHP致命错误:/ home中内存不足(已分配80740352)(试图分配12352字节).....”如何使用php.ini解决此问题?

这是我当前的上传php.ini设置

upload_max_filesize = 2000M ;
post_max_size = 2000M
max_file_uploads = 8

任何想法我还需要添加什么来解决此错误?


阅读 283

收藏
2020-05-29

共1个答案

一尘不染

最佳memory_limit值取决于您对上传文件的处理方式。您是否使用file_get_contents或GD库将文件读入内存?在这种情况下,请将memory_limit增加到至少与upload_max_filesize相同,最好增加更多。

如果使用的是GD,请记住GD会将整个图像未压缩地保存在内存中。这意味着它占用的内存范围(width * height * bit- depth例如,1024*768*32 = 25 165 824 bits = 3 MB用于屏幕截图)或最多55 MB(用于14兆像素图像)。

某些操作可能需要创建映像的副本,因此请考虑将memory_limit设置为将映像保留在内存中所需容量的两倍。另外,如果不需要,请确保不要立即将所有图像加载到内存中。处理完图像后,可以通过在句柄上调用imagedestroy来释放GD使用的内存。

2020-05-29