关于php:允许的内存大小耗尽,试图分配xx字节

Allowed memory size exhausted, tried to allocate xx bytes

本问题已经有最佳答案,请猛点这里访问。

在我的服务器上的错误日志文件中有一些这样的错误:

  • PHP致命错误:允许的内存大小为268435456字节
    (试图分配86个字节)....(一个php文件,在线..)
  • PHP致命错误:允许的内存大小为268435456字节
    (试图分配2个字节)....(一个php文件,在线..)

对于每个错误,建议的分配字节数量低于100个字节。

这是否意味着只增加100字节的内存可以解决所有问题?

我怎么知道哪个脚本负责这么多的内存使用?

我的店铺是用Prestashop 1.5.6.2建造的。

我得到的完整错误消息如下:

1
Allowed memory size of 268435456 bytes exhausted (tried to allocate 92 bytes) in ../classes/db/DbPDO.php on line 101

线101如下:

1
return $result->fetch(PDO::FETCH_ASSOC);

此行是以下代码的一部分:

1
2
3
4
5
6
    public function nextRow($result = false)
{
    if (!$result)
        $result = $this->result;
    return $result->fetch(PDO::FETCH_ASSOC);
}

我不是开发人员,我事先感谢你对此事的任何帮助。

帕特里克

我提前感谢你的回复。

帕特里克


不。您需要增加PHP内存限制。 您可以通过将以下代码添加到文件顶部来完成此操作

1
ini_set('memory_limit','512M');

或者在php.ini文件中增加它

1
memory_limit = 512M;

如果您无权访问,则可以将其添加到.htaccess文件中

1
php_value memory_limit 512M