用户在我的网站上上传图像时出现此错误。
错误消息是“ PHP致命错误:/ home中内存不足(已分配80740352)(试图分配12352字节).....”如何使用php.ini解决此问题?
这是我当前的上传php.ini设置
upload_max_filesize = 2000M ; post_max_size = 2000M max_file_uploads = 8
任何想法我还需要添加什么来解决此错误?
最佳memory_limit值取决于您对上传文件的处理方式。您是否使用file_get_contents或GD库将文件读入内存?在这种情况下,请将memory_limit增加到至少与upload_max_filesize相同,最好增加更多。
memory_limit
如果使用的是GD,请记住GD会将整个图像未压缩地保存在内存中。这意味着它占用的内存范围(width * height * bit- depth例如,1024*768*32 = 25 165 824 bits = 3 MB用于屏幕截图)或最多55 MB(用于14兆像素图像)。
width * height * bit- depth
1024*768*32 = 25 165 824 bits = 3 MB
某些操作可能需要创建映像的副本,因此请考虑将memory_limit设置为将映像保留在内存中所需容量的两倍。另外,如果不需要,请确保不要立即将所有图像加载到内存中。处理完图像后,可以通过在句柄上调用imagedestroy来释放GD使用的内存。