-1
我有一个Drupal论坛网站,它有大量的数据。例如,一个论坛类别有14,000个线程,并有100,000条评论。即使在我的本地测试网站,它也非常滞后。然后当我上传到活动网站,它给这个错误:如何限制Drupal查询中的内存分配?
Fatal error: Allowed memory size of 52428800 bytes exhausted (tried to allocate 40961 bytes) in /home/fmotors/public_html/development/includes/theme.inc on line 1494
所以有事情做与增加的内存限制,或者一次不查询所有线程。但我不知道如何去做。下面是该标记上述错误代码:
function theme_render_template($template_file, $variables) {
extract($variables, EXTR_SKIP); // Extract the variables to a local namespace
ob_start(); // Start output buffering
include DRUPAL_ROOT . '/' . $template_file; // Include the template file
return ob_get_clean(); // End buffering and return its contents
}
到ob_start()
呼叫处于线1494。顺便说一句,我使用的Drupal的提前论坛模块。
返回更少的数据。没有看到您的查询,很难提供详细信息。 –
如果Drupal和Wordpress一样,它可能会试图在内存中保存所有注释,即使您使用的视图是分页的。如果这是问题,那么搜索“drupal php减少内存使用量”将是一个不错的第一步。也就是说,对于一个复杂的PHP应用程序,50M可能太少了:尝试配置64或80M并查看它是否有效? – halfer
@halfer在哪里配置50M到80M?以及我如何不一次查询所有评论?是的,他们分页,我怀疑你说什么是真实的,即使它分页,一次全部查询。 –