Php 已耗尽67108864字节的允许内存大小(尝试分配19200字节)
我正在尝试上载一个10 mb大小的图像,但它给了我一个错误: 致命错误:已耗尽67108864字节的允许内存大小(已尝试 分配19200字节) 我还尝试通过以下方式更改为.ini文件:Php 已耗尽67108864字节的允许内存大小(尝试分配19200字节),php,upload,ini,Php,Upload,Ini,我正在尝试上载一个10 mb大小的图像,但它给了我一个错误: 致命错误:已耗尽67108864字节的允许内存大小(已尝试 分配19200字节) 我还尝试通过以下方式更改为.ini文件: upload_max_filesize = 70M post_max_size = 20M 但它仍然不起作用。。。给我同样的错误。。。太令人沮丧了,我下一步能做什么 我的代码做错了什么,如何解决这个问题?是PHP内存不足。您需要在php.ini中增加memory\u limit选项,或者在php中使用ini\u
upload_max_filesize = 70M
post_max_size = 20M
但它仍然不起作用。。。给我同样的错误。。。太令人沮丧了,我下一步能做什么
我的代码做错了什么,如何解决这个问题?是PHP内存不足。您需要在php.ini中增加memory\u limit选项,或者在php中使用ini\u设置(假设已启用)。您的php内存不足。与其提高内存限制,不如认真考虑是否可以对脚本进行加密,以减少占用的内存。例如,不要将上传的文件读取到内存中,只使用文件系统操作。请尝试:
ini_设置(“内存限制”、“100M”) 在php.ini中使用的正确语法:
memory_limit = 128M
您还可以尝试更改脚本以占用更少的内存您当前的内存限制为
64M
(这就是消息试图告诉您的),远远大于10MB的图像。可能您在其他地方遇到了问题(低效的脚本、无限循环、无限递归?。不要将文件读入内存。您在脚本中使用的内存超过64MB,远远超过了图像中的10MB,因此您可能正在读取文件并复制它,以及执行其他低效的操作。(我们只能猜测,而看不到您的代码。)
只需通过文件系统操作(例如move\u upload\u file
)将文件从临时位置直接复制到新的所需位置
如果您确实出于某种原因需要64MB,而不仅仅是上传图像,比如说,您可能正在对其执行复杂而昂贵的操作,那么您可以更改
内存限制
INI选项。但与修复代码相比,这应该是最后的选择。:) 您至少应该将您拥有的值替换为“post\u max\u size”(整个帖子的最大值)和“upload\u max\u filesize”(每个实际文件的最大值)谢谢大家的帮助,我解决了这个问题……)