致命错误:允许的内存大小为 [重复]
Posted
技术标签:
【中文标题】致命错误:允许的内存大小为 [重复]【英文标题】:Fatal error: Allowed memory size of [duplicate] 【发布时间】:2017-08-29 19:37:18 【问题描述】:我根本不是程序员,但我需要让一个旧的 Joomla 站点启动并运行足够长的时间,以便我从站点中抓取内容(文章和导航标题)并启动一个新的 WordPress 站点。目前,该网站 (www.muellerfamilylaw.com) 显示以下错误:
jtablesession::存储失败 DB 函数失败,错误号为 145 表 './tempmu5_muellerfamilylaw/jos_session' 被标记为崩溃,应修复 SQL=INSERT INTO
jos_session
(session_id
,time
,username
,gid
,guest
,client_id
) VALUES ( '7f0d46db0c41fddae0302015fc529d2e','1491314393','','0','1','0')
如果有人能帮我修复这个问题,让旧网站运行足够长的时间让我收集所有页面内容,我将不胜感激。
【问题讨论】:
我会备份表(如果它允许,或者只是复制服务器上的原始文件)并使用相同的结构重新创建它,然后重试。不能保证,但可能会带你到某个地方。 【参考方案1】:转到phpMyAdmin
并发出以下查询:
REPAIR TABLE jos_session
如果它不起作用,那么只需删除表并重新创建它。
CREATE TABLE IF NOT EXISTS `jos_session` (
`session_id` varchar(191) NOT NULL DEFAULT '',
`client_id` tinyint(3) unsigned NOT NULL DEFAULT 0,
`guest` tinyint(4) unsigned DEFAULT 1,
`time` varchar(14) DEFAULT '',
`data` mediumtext,
`userid` int(11) DEFAULT 0,
`username` varchar(150) DEFAULT '',
PRIMARY KEY (`session_id`),
KEY `userid` (`userid`),
KEY `time` (`time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci;
顺便说一句,发生这种情况的原因是因为您可能使用的是 MyISAM 而不是 InnoDB - 切换到 InnoDB 是一个好主意,因为 InnoDB 表不太可能崩溃。我们已经发布了关于这个问题here。
【讨论】:
【参考方案2】:对于您的表崩溃问题,您应该考虑在 mysql 或 mysqlcheck 中使用 repair table
命令修复表。
对于内存耗尽的问题,由于这是暂时的事情,使用php的ini_set
函数如下就足够了。
ini_set('memory_limit', '2G'); // adjust the 2G as required.
你需要把它放在第 117 行之前你已经筋疲力尽的地方。
【讨论】:
以上是关于致命错误:允许的内存大小为 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:允许的内存大小为 268435456 字节已用尽(尝试分配 8192 字节)[重复]
致命错误:允许的 33554432 字节的内存大小已用尽 [重复]
PHP致命错误:允许的内存大小为134217728字节已用尽
致命错误:允许的内存大小为 268435456 字节已用尽(尝试分配 71 字节)