MT 4 最烦人的BUG: 反复提示升级

本文探讨了从MT3.3x升级到MT4后出现的一个恼人问题:频繁提示升级,导致设置丢失。作者通过观察数据库记录发现了可能的原因,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我前面的文章一直夸 MT 4 的一些优点,今天实在忍不住了,说说 MT 4 这个恼人的 Bug。

从 MT 3.3x 升级到 MT 4 之后,经常在登录的时候会提示:

Time to Upgrade!

而且,这个提示还是没办法跳过去的,只得选择 Upgrade,Upgrade 之后,很多配置和模版的内容又变成默认的,还要重新设定。可没几天,又会提示升级。烦死。

在 MT 邮件列表里发了这个消息(可怜我的蹩脚英语啊),发现很多人都遇到了类似的情况。但是 Byrne Reese 似乎一时也找不到好的办法,许诺谁能协助解决将有奖励: ” A $50 Amazon Gift Certificate/Bounty has been declared for anyone who can help us track down the root cause of this”。此外,MT 4.01 Beta 版的问题列表也说这个问题还没有解决。

经过观察,发现每次都是提示数据库 Schema 版本从 MT 3.2 升级到 4.0026。邮件列表里有个人的提示很有帮助:

The upgrade check is in MT/App/CMS.pm, sub init_request.  It occurs when the schema version stored in the database ($app->config('SchemaVersion')) < the schema version stored in the application code ($app->schema_version). 

数据库里面 Schema Version 存储在 MT_CONFIG 表里,检查这个表的记录(共有20多条),发现第一条(config_id) 的config_data字段的值为:

SchemaVersion 4.0026
SQLSetNames 0

而其他行的值是 :

SQLSetNames 0

也就是说其他行是不包含 SchemaVersion 的值。猜测升级程序在这里取值取错了(这个表的设计也够糟糕的了),立刻找一个全新的 MT 4 安装,发现这个表是只有一行记录的。决定删掉多余的记录。目前没有发现错误。

是否彻底避免了这个问题,还有待观察。如果你等不及的话,可以看看 MT_CONFIG 表的数据是否也是类似我这样的。

EOF

Google+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值