【问题标题】:Drupal: too many modules?Drupal:模块太多?
【发布时间】:2010-07-02 22:27:20
【问题描述】:

我将 Drupal 与许多模块一起使用,因为我需要很多功能,例如 Newsletter、Taxonomy 菜单、Embed Videos.. 和许多其他模块。

当我启用所有这些时,我遇到了一个致命错误,但关键是我正在使用具有 128M php 内存的开发服务器。

所以,我想知道...在 Drupal 中一起运行所有这些模块基本上是不可能的,还是我遗漏了什么?

谢谢

更新:这是我收到的错误消息:

致命错误:第 840 行 /includes/bootstrap.inc 中允许的内存大小为 134217728 字节已用尽(尝试分配 30220918 字节)

【问题讨论】:

  • 通过 devel 和其他工具调查内存泄漏。 128M 通常足以容纳一个站点的 100 个常用模块...
  • 致命错误是什么?其中一个模块可能有一些愚蠢的错误,例如通过引用传递调用时间或其他简单的错误。
  • 您在运行自定义模块吗?首先检查它们。可能会发生您正在加载节点或用户而没有正确删除它们...
  • 谢谢,我怎么知道每个模块占用多少内存?
  • 您可以使用开发模块来查看数据库查询或针对您的站点运行 apache bench 来调整一些设置(模块)以了解您的站点的执行情况。

标签: drupal drupal-6


【解决方案1】:

我通常会在设置文件中提高 php 内存限制来解决这个问题。看看下面的文章。

http://drupal.org/node/207036

【讨论】:

    【解决方案2】:

    从制作的一些 cmets 进行跟进。

    Drupal 可以在 128 mb 中运行超过 100 个模块、数千个节点和数百万用户。

    但是,某些模块或模块组合可能会出现异常。最有可能的罪魁祸首是一个自制模块,或者一个处于测试阶段或没有很多用户的模块。正如人们在 cmets 中所说,尝试禁用模块。

    或者,如果您的开发环境设置正确,请在 bootstrap.inc 中放置一个断点,以了解它在该点所做的事情。

    在我的本地环境中,bootstrap.inc 中的第 840 行位于 watchdog 函数中,因此您可能需要检查您的日志。您可以在问题中发布第 840 行附近的内容。

    【讨论】:

    • 好吧,我实际上得到了错误,然后当我刷新模块页面时,我看到模块已启用,而不是。尽管有错误消息
    • 启用模块可以触发安装脚本运行,并且还会清除缓存,从而导致菜单重建。您可能想在缓存清除后检查您的网站是否正常。
    • 是的,我执行了几次缓存清除,一切似乎都很好。添加新模块时有时会出现错误
    【解决方案3】:

    编辑站点/default/settings.php

    ini_set('memory_limit', '96M');
    

    根据需要设置内存限制

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 2023-04-02
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多