出现这个错误消息,有什么建议吗?
允许内存大小为33554432字节已耗尽(已尝试分配 43148176字节)的PHP
出现这个错误消息,有什么建议吗?
允许内存大小为33554432字节已耗尽(已尝试分配 43148176字节)的PHP
当前回答
我想分享我在这个问题上的经验!
假设你有a类和B类。
class A {
protected $userB;
public function __construct() {
$this->userB = new B();
}
}
class B {
protected $userA;
public function __construct() {
$this->userA = new A();
}
}
这将启动一个对象链的形成,这可能会产生这种问题!
其他回答
我想分享我在这个问题上的经验!
假设你有a类和B类。
class A {
protected $userB;
public function __construct() {
$this->userB = new B();
}
}
class B {
protected $userA;
public function __construct() {
$this->userA = new A();
}
}
这将启动一个对象链的形成,这可能会产生这种问题!
如果您试图读取一个文件,这将占用PHP中的内存。例如,如果您试图打开并读取一个MP3文件(例如,$data = file("http://mydomain.com/path/sample.mp3")),它将把它全部拉到内存中。
正如Nelson所建议的,如果您确实需要使用这么多内存,您可以提高您的最大内存限制。
写
ini_set (memory_limit’,‘- 1);
在你的index.php中,在PHP标签打开后的顶部
我有同样的问题,在命令行运行php。最近,我更改了php.ini文件,在更改php.ini时犯了一个错误
这是针对php7.0的
到php.ini的路径:/etc/php/7.0/cli/php.ini
我设置了memory_limit = 256(这意味着256字节),而不是memory_limit = 256M(这意味着256兆字节)。
; 脚本可能消耗的最大内存(128MB) ; http://php.net/memory-limit memory_limit = 128M
一旦我纠正了它,我的过程开始正常运行。
我们也遇到过类似的情况,我们尝试了顶部给出的答案 报错(' memory_limit ', ' 1 '); 一切工作正常,压缩图像文件大于1MB到KBs。