点击名为Test
的类别时出现以下错误在stderr发送的FastCGI:
PHP消息:PHP致命错误:在第736行" /home/mydomain/public_html/app/functions/fn.catalog.php中,允许的内存大小为268435456字节(试图分配32个字节)从上游读取响应头时,客户端:24.xx.xx.xx,服务器:www.mydomain.com,请求:" GET / test-page-313 / HTTP / 1.1",上游:& #34; fastcgi://127.0.0.1:9000",主持人:" www.mydomain.com",推荐人:" http://www.mydomain....lesale-towels/"
我的736线如下
在我的php.ini
我已经将memory_limit
增加到= 1G
for ($qty = $min_qty; $qty <= $max_qty; $qty += $product['qty_step']) {
$qty_content[] = $qty;
}
答案 0 :(得分:0)
几种可能性:
$product['qty_step']
不包含数字$qty_content
数组中创建多个条目。例如,如果你有:
$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;
}
该程序将尝试在数组中最多补充400000000个条目,这需要PHP无法处理的大量内存。所以它会抛出你所得到的错误。正如someones在你的问题评论中所说,尝试调试所有变量的内容,例如:
var_dump(
array('qty' => $qty,
'min_qty' => $min_qty,
'max_qty' => $max_qty,
'product["qty_step"]' => $product['qty_step'])
);
看看你得到了什么。在所有情况下,此错误意味着您占用了太多内存,因此您必须通过增加$product['qty_step']
或减少$min_qty
和$max_qty
之间的差异来减少循环的迭代。