php中的内存限制问题

| 我在php中有内存问题。我已将php.ini中的限制设置为512 M /var/log/apache2/error.log的输出为:   PHP致命错误:允许的内存大小   的536870912字节已用尽(尝试用于   分配71个字节)   /var/www/phpgraphlib.php在第578行, 有趣的代码是:
 foreach ($saved_test_figurestoprint as $figuretoprint){
        if (strpos($obj[$figuretoprint],\",\") >0 ){
  $graphfilename= \"graphfile\".remove_invalid_chars_for_file($obj[\"_id\"]).\"_\".remove_invalid_chars_for_file($figuretoprint).\".png\" ;        
        $graph = new PHPGraphLib(1000,200,$graphfilename);
        $data = explode(\',\', $obj[$figuretoprint]); 
$graph->addData($data);
$graph->setTitle($figuretoprint);
$graph->setBars(false);
$graph->setLine(true);
$graph->setDataPoints(true);
$graph->setDataPointColor(\'maroon\');
$graph->createGraph();
?> <td> <?  echo $figuretoprint ; ?></td> <td> <? 
echo <<<END
<imag src=$graphfilename>
END

?> </td></tr><tr><?
echo \"</br></br>\";
echo \"used memory is \".memory_get_usage(true) . \"\\n\";   
最新的输出是: 使用的内存是30408704 我正在使用64位ubuntu和php 5.3。 Linux mongo-db-server 2.6.35-28-generic#49-Ubuntu SMP Tue Mar 1 Tue Mar 1 14:39:03 UTC 2011 x86_64 PHP版本5.3.3-1ubuntu9.3 如果要绘制> 40张图像,则会出现问题。 我认为新的内存限制未应用于服务器 我发现了这个错误 http://bugs.php.net/52061 但仅适用于内存限制> 2GB 你能帮助我吗 ?     
已邀请:
        我要做的第一件事是确保更改php.ini后完全重新启动Web服务器。 如果这样不起作用,请尝试以下操作: 确保您正在写入正确的php.ini文件。制作一个info.php文件,并确保您正在写入正确的文件。 在for循环的底部执行以下操作: unset($ graph); unset($ data); 这些似乎是最大的变量,并且显然是在累积数据,并且不会被垃圾收集器接收。     
        PHP取消设置只会删除对对象的引用,并且不会清除内部对象的内存分配,因此在迭代过程中,每次创建大对象然后对对象进行销毁功能,然后在该函数中取消设置所使用的每个类变量,那么只有使主要对象感到不安,它才会释放它所占用的全部内存。.希望这一事实对任何人都有帮助     

要回复问题请先登录注册