【问题标题】:Fatal error: Allowed memory size, but it shouldn't be致命错误:允许的内存大小,但不应该是
【发布时间】:2010-09-08 14:05:07
【问题描述】:

我正在移植 Joomla 的安装,但出现此错误:

致命错误:允许的内存大小为 134217728 字节已用尽(尝试分配 116 字节)

在 \wwwroot\libraries\joomla\error\exception.php 第 117 行

我已经尝试提高限制,但这并没有帮助(好吧,它不会,它只是试图分配 116 个字节)

有什么想法吗?

【问题讨论】:

标签: php joomla memory-management


【解决方案1】:

如果您启用了 memcache 并且没有安装 memcache 客户端,也会出现此问题。

如果是这种情况,只需 pecl install memcache(确保在您的 php.ini 中相应地启用了扩展)并重新启动 apache,您就可以开始了。

【讨论】:

    【解决方案2】:

    在使用 GD 进行图像处理时,我通常会遇到这样的错误。正如 Yogesh 建议的那样,在内存限制上添加一条线已经为我解决了。例如:

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

    【讨论】:

    • 我把内存限制提高到一个巨大的数量,但仍然没有工作。 Joomla 一定有问题
    【解决方案3】:

    Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 40 bytes) in /home/site/public_html/libraries/joomla/error/exception.php on line 117

    我所做的(感谢一些零散的建议,将 117 上的行更改为以下内容

    $this->backtrace = debug_print_backtrace();
    

    【讨论】:

      【解决方案4】:

      检查 php.ini 中的 memory_limit 参数。

      超过了这个限制。

      将其更改为您的要求,然后尝试。

      希望这会有所帮助。

      【讨论】:

      • 好的。如果它不起作用,请检查 php.ini 中的 post_max_size 参数。它超出了您页面的限制。将其更改为您的要求,然后尝试。希望这会有所帮助。
      【解决方案5】:

      看起来 joomla 核心文件存在一些问题 - 获取新副本并用新副本覆盖 index.php,现在一切都很好。奇怪!

      【讨论】:

        【解决方案6】:

        我遇到的另一种可能性是您的一个 MySQL 表可能会崩溃。听起来很奇怪,但有时会以这种方式表现出来。

        只需运行mysqlcheck -rA 即可检查和修复所有 mysql 表。

        【讨论】:

          【解决方案7】:

          为了解决这个问题,我去了后端并检查了该站点的调试。

          我保存了配置,该网站现在可以运行了。

          【讨论】:

          • 为我工作。我设置了调试模式,运行站点然后取消设置调试模式。错误消失了
          【解决方案8】:

          这是一个非常古老的问题,但我现在遇到了同样的问题,我想分享解决方案(其他答案对我没有帮助)。

          如果您要移植您的 joomla 安装,您需要检查源主机和目标主机中与 PHP 相关的所有包。

          如果您使用的是基于 debian 的 linux,则需要同时输入:

          dpkg -l | grep "^ii  php5\?-"
          

          并测试是否安装了相同的软件包。如果没有,您可以在源主机上键入:

          echo $(dpkg -l | grep "^ii  php5\?\-" | cut -d " " -f 3)
          

          复制结果并将其粘贴到目标主机(例如,如果您使用的是 SSH 客户端):

          apt-get install php-mail-mime ... (lot of packages) ... php5-curl
          

          或者你可以试试这个:

          apt-get install $(ssh source_host dpkg -l | grep "^ii  php5\?\-" | cut -d " " -f 3)
          

          检查 source_machine 是否正确(如果需要,请使用 root@source_host 或 another_user@source_host)。

          重启apache2服务器(没必要,但为了安全起见):

          service apache2 restart
          

          然后再检查一次。

          如果您使用 Windows,请在迁移前后检查启用的扩展(上传“info.php”文件以测试它们)并相应更改 php.ini。稍后使用 services.msc 或命令行以管理员身份重新启动 apache2 服务:

          net apache2 stop
          net apache2 start
          

          我在从头开始重新安装时发现了这个错误,但要求检查失败。

          希望这对有同样问题的人有用。

          【讨论】:

            猜你喜欢
            • 2015-04-22
            • 2023-03-20
            • 2015-09-18
            • 2023-04-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-06-14
            • 1970-01-01
            相关资源
            最近更新 更多