致命错误:允许的内存大小,但不应该

时间:2010-09-08 14:05:07

标签: php joomla memory-management

我正在移植Joomla的安装,我收到了这个错误:

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

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

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

有什么想法吗?

8 个答案:

答案 0 :(得分:2)

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

如果是这种情况,只需要pecl install memcache(确保在php.ini中相应地启用扩展)并重新启动apache,你应该好好去。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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();

答案 3 :(得分:0)

检查php.ini中的memory_limit参数。

超过了这个限制。

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

希望这有帮助。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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

我保存了配置,现在该网站正常运作。

答案 7 :(得分:0)

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

如果要移植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

我注意到从启动和失败的需求检查再次安装时出现了错误。

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