当用户在我的网站上上传图像时,我收到此错误。
错误消息是“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 相同,最好更大。
如果您使用 GD,请记住 GD 将未压缩的整个图像保存在内存中。这意味着它需要的内存范围为width * height * bit-depth
, e.g., 1024*768*32 = 25 165 824 bits = 3 MB
对于屏幕截图,或者对于 14 兆像素的图像,最多 55 MB。
某些操作可能需要创建图像的副本,因此请考虑将 memory_limit 设置为将图像保留在内存中所需的值的两倍。如果不需要的话,还要确保不要一次将所有图像加载到内存中。您可以通过调用释放GD使用的内存图像销毁 http://php.net/imagedestroy处理完图像后,在手柄上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)