为什么显示此php致命错误消息?

为什么显示此php致命错误消息?,php,memory,memory-management,out-of-memory,Php,Memory,Memory Management,Out Of Memory,我是一名PHP程序员新手,对位和字节不太了解,我想知道为什么会出现这样的消息: 致命错误:第227行D:\xampp1.8.3\htdocs\hkmchat\default.php中允许的内存大小为134217728字节(尝试分配40字节) 我知道我的网站很大,但它的加载速度足够快,改变它会很痛苦 我想知道,当允许的内存大小为134217728字节(128兆字节)时,为什么分配40字节太多。有人能帮我解释一下“允许的内存大小”和“分配的内存”的含义吗。再说一次,我对这些不太了解 我还将php.i

我是一名PHP程序员新手,对位和字节不太了解,我想知道为什么会出现这样的消息:

致命错误:第227行D:\xampp1.8.3\htdocs\hkmchat\default.php中允许的内存大小为134217728字节(尝试分配40字节)

我知道我的网站很大,但它的加载速度足够快,改变它会很痛苦

我想知道,当允许的内存大小为134217728字节(128兆字节)时,为什么分配40字节太多。有人能帮我解释一下“允许的内存大小”和“分配的内存”的含义吗。再说一次,我对这些不太了解

我还将
php.ini
memory\u limit
值更改为“256M”,但当时不起作用。错误刚刚更改为

致命错误:允许的内存大小为268435456字节,在D:\xampp1.8.3\htdocs\hkmchat\default.php227行

有人能告诉我我错过了什么吗


提前感谢。

它并不是试图只分配40个字节。您已经将128meg的内容加载到内存中,它正试图再加载40字节。这会使您超出限制,并导致致命错误。至于php.ini,可以使用几个版本的php.ini。您应该使用测试页面并使用
phpinfo()调用以确定您正在修改正确的php.ini。

可能您的某个地方存在内存泄漏。如果没有一些代码,我们无法知道。它很长,我不想将整个内容粘贴到这里134217728 B==128 MB。您可以在这个问题上抛出更多的RAM,直到耗尽RAM为止,或者您可以解决这样一个事实,即您的代码使用的内存远远超过了它可能应该使用的内存。不管怎样,在更改php.ini之后,您是否重新启动了web服务器?您的意思是什么?重新开始不是很好吗?我没有问题。你可以在php文件中的几个地方使用
内存\u get\u用法
,查看你在哪里使用所有内存(而不是释放内存)。“我还将php.ini的内存限制值更改为“512M”,但它当时不起作用。”如果我正确解释这个问题,您的意思是,当您为页面提供更多内存时,该页面已停止工作。这让我相信代码中可能有某种循环需要大量内存,可能是一个无限循环(无限就是很多)。发布一些代码以获得更多帮助。是的-我在该区域有很多循环-可能一个是无限的。是的,这就是问题所在。谢谢