2015-11-04 38 views
0

我正在導入一個查詢中的很多文件,問題是我得到一個PHP錯誤,告訴我我耗盡了所有的回憶。在Doctrine和ini_set中耗盡的內存大小不起作用

但是這個問題只發生在生產服務器上,而不是在我的本地。

我已經嘗試過做一個

ini_set('memory_limit', '-1'); 

set_time_limit (0); 

而且我的代碼是

public function mediachooserAction(Request $request, $origin = null, $type = null, $term = null) 
{ 
    ini_set('memory_limit', '-1'); 
    if ($this->container->has('profiler')) { 
     $this->container->get('profiler')->disable(); 
    } 

    $entities = $this->getRepository('AppBundle:Media')->findMedias($origin, $type, $term); 

    $pagerfanta = new Pagerfanta(new ArrayAdapter($entities)); 
    $pagerfanta->setMaxPerPage(20); 
    if ($request->query->has('page')) { 
     $pagerfanta->setCurrentPage($request->query->get('page')); 
    } 

    return $this->render('backend/ckeditor/mediachooser/index.html.twig', [ 
     'entities'  => $pagerfanta, 
     'origin'  => $origin, 
     'type'   => $type, 
     'originChoices' => Media::getOriginChoices(), 
     'typeChoices' => Media::getTypeChoices(), 
    ]); 
} 

但是,這並沒有幫助。

您是否知道我可以如何解決此問題,而無需在我的程序中進行任何優化?

+0

您的託管服務可以忽略這樣的配置:內存或時間限制... –

+0

@HalayemAnis我有root訪問權限,我檢查了php.ini,一切似乎都沒問題... –

回答

0

我的確在.httpaccess一個php_value memory_limit 512M,現在工作得很好。

0

可能是php.ini中定義的safe_mode(又名poop_mode)。在ini_set('memory_limit','-1')後面使用ini_get(「memory_limit」)來查看新值是什麼。

如果你有機會爲php.ini,您可以設置內存限制有太多