Apache PHP在我的所有脚本中内存不足

Apache PHP在我的所有脚本中内存不足,apache,memory,php,Apache,Memory,Php,编辑: My php.ini有256MB内存集: ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 250 ; Maximum execution time of each script, in seconds max_input_time = 120 ; Maximum amount of time each script may spend parsing requ

编辑:

My php.ini有256MB内存集:

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 250     ; Maximum execution time of each script, in seconds
max_input_time = 120    ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 256MB    ; Maximum amount of memory a script may consume (256MB)
所以我有一个PHP脚本,它写得不是很好,当我执行它时,PHP内存用完了,我的电脑冻结了。在运行脚本之前,我增加了php.ini中的内存限制。之后,我已将其更改回默认值

现在的问题是它似乎对我的PHP安装做了些什么。我现在执行的每个PHP脚本都告诉我它没有足够的内存。以前可以正常工作的脚本

我前面提到的一个糟糕的脚本似乎仍在后台运行

我重新启动了PHP,Apache,我重新启动了我的电脑,甚至睡了8个小时。第二天早上,我发现所有PHP脚本的内存仍然不足。怎么回事

我现在到处都会遇到这样的错误(当然,错误中的文件会发生变化)-每一个PHP脚本,甚至最简单的PHP脚本:

致命错误:第241行的D:\data\o\WebLib\src\Db\Db.php中允许的内存大小为262144字节(尝试分配6144字节)

致命错误(关机):第241行的D:\data\o\WebLib\src\Db\Db.php中允许的内存大小为262144字节(尝试分配6144字节)

好的,这是脚本(我已经注释掉了不好的部分):


您拥有的
256K
。在几乎所有的情况下,这都要少得多。默认值为
16M
(自5.2版起)。

您确定已正确设置内存大小吗?错误显示最大内存为262144字节,即四分之一MB。真是太低了

作为对php设置的反应:语法不应该是

memory_limit = 256M

我不知道它是否同时接受M和MB,但它可能不接受?

嘿,Richard。由于PHP明确指出只有
256K
设置为限制,所以无法执行这些更改。查看php.ini和所有其他地方。它可以位于vhost/host上的.htaccess文件中。

更改php.ini:

memory_limit = 256M

请注意,您不应该使用MBKB,但是MK您是否在编辑php.ini并增加
内存限制=256MB
后重新启动了Apache?

php希望单位MB由单个字母M表示。您已指定256MB。注意额外的B

由于PHP不理解单位MB,它会返回到已知的最低“命名”单位:KB(K

只需从设置中删除额外的B,它就可以正确地读取256 MB的值(256M

请参阅以下有关数据大小单位的常见问题解答条目:


您不能增加php.ini中允许的内存大小吗?很明显,您的内存设置不正确。试着在你的配置中使用“256M”而不是“256MB”。我在php.ini中设置了256MB内存,这看起来很奇怪。我不明白。查看我的帖子,我添加了php.ini的摘录。@Richard:即使你将一条评论复制粘贴到每个答案上,它仍然是错误的;)我在php.ini中设置了256MB内存,所以这看起来很奇怪。我不明白。查看我的帖子我添加了php.ini的摘录。你应该阅读手册,它的
256M
位于
php.ini
,而不是
256MB
。您的错误消息中清楚地提到了它。有一个不是256MB的数字
262144字节
。我在php.ini中设置了256MB内存,这看起来很奇怪。我不明白。查看我的帖子我已经添加了我的php.ini的摘录。嘿@Richard Knop,你试过把这一行添加到你的脚本中吗?ini设置(“内存限制”、“256M”);或者也许前面的答案解决了你的问题?
memory_limit = 256M