PHP致命错误:已耗尽268435456字节的允许内存大小

PHP致命错误:已耗尽268435456字节的允许内存大小,php,Php,单击名为Test的类别时,我遇到以下错误 在标准中发送的FastCGI: PHP消息:PHP致命错误:允许的内存大小为268435456字节,在从上游读取响应头时,尝试在第736行的/home/mydomain/public_html/app/functions/fn.catalog.PHP中分配32字节,客户端:24.xx.xx,服务器:www.mydomain.com,请求:GET/test-page-313/HTTP/1.1,上游:fastcgi://127.0.0.1:9000,主持人:

单击名为Test的类别时,我遇到以下错误

在标准中发送的FastCGI:

PHP消息:PHP致命错误:允许的内存大小为268435456字节,在从上游读取响应头时,尝试在第736行的/home/mydomain/public_html/app/functions/fn.catalog.PHP中分配32字节,客户端:24.xx.xx,服务器:www.mydomain.com,请求:GET/test-page-313/HTTP/1.1,上游:fastcgi://127.0.0.1:9000,主持人:www.mydomain.com,推荐人:

我的736线路如下

在我的php.ini中,我已经将内存限制增加到=1G


有几种可能性:

$product['qty\U step']不包含数字 循环中有两个多步骤,使程序在$qty\U内容数组中创建多个条目。 例如,如果您有:

$min_qty = 0;
$max_qty = 400000;
$product = array("qty_step" => 0.001);
$qty_content = [];

// The loop
for ($qty = $min_qty; $qty <= $max_qty; $qty += $product['qty_step']) {
    $qty_content[] = $qty;
}

看看你能得到什么。在所有情况下,此错误都意味着您占用了太多内存,因此必须通过增加$product['qty\U step']或减少$min\U qty和$max\U qty之间的差异来减少循环的迭代次数。

那么$max\U qty或$qty在该循环中是如何变化的?在什么时候您会达到结束条件?可能是0或未定义-$qty+=$product['qty\U step']。调试步骤1:找出代码使用的值。回声是一种方式。您可能没有错误检查值,这是错误的。如上所述,您可以执行以下操作:打印\$min\u数量=“$min\u数量”\$max\u数量=“$max\u数量”\$product['qty\u步骤]=$product['qty\u步骤];更改ini设置后是否重新启动了web服务器?请编辑问题以在for循环之前包含$min\u qty、$max\u qty和$product['qty\u step']的值。没有这些,这里就没有足够的信息来确定确切的问题。
$min_qty = 0;
$max_qty = 400000;
$product = array("qty_step" => 0.001);
$qty_content = [];

// The loop
for ($qty = $min_qty; $qty <= $max_qty; $qty += $product['qty_step']) {
    $qty_content[] = $qty;
}
var_dump(
  array('qty' => $qty,
    'min_qty' => $min_qty,
    'max_qty' => $max_qty,
    'product["qty_step"]' => $product['qty_step'])
);