第一个问题:怎么弄,你不知道你正在运行的版本的网页表单的?它在网站的模块或更新页面中显示的是什么?如果没有在那里显示。系统表中数据库模式的价值是什么?
第二个问题:我有我的一个做混乱的一个同事,因为他安装模块的开发版本。您确定您只使用测试版或稳定版,并且以前没有开发过快照?
然后,作为解决方案...
我没有任何方便的网站在哪里尝试重现您的问题。但是你得到的警告并不是真正的问题......问题似乎 - 对我来说 - webform的更新无法正常运行或无法正确报告成功。
的代码生成的警告位是在update.php文件,它是:
if ($_SESSION['update_success']) {
$output = '<p>Updates were attempted. If you see no failures below, you may proceed happily to the <a href="'. base_path() .'?q=admin">administration pages</a>. Otherwise, you may need to update your database manually.'. $log_message .'</p>';
}
else {
list($module, $version) = array_pop(reset($_SESSION['updates_remaining']));
$output = '<p class="error">The update process was aborted prematurely while running <strong>update #'. $version .' in '. $module .'.module</strong>.'. $log_message;
if (module_exists('dblog')) {
$output .= ' You may need to check the <code>watchdog</code> database table manually.';
}
$output .= '</p>';
}
所以,代码生成错误比特被唯一当出现在更新过程中出错跑去。因此它看起来像是你正在更新的模块中的一个错误。
如果我在你的情况,我绝对想或需要最新的更新我会尝试手动执行更新。以下是如何做到这一点(我会假设你的模块是网页表单,但程序适用于其他模块也:
- 备份您的数据库
- 请确保您有安装了开发模块!
- 浏览数据库表“system”,并找出目前为网络表格模块(它通常是一个以6开头的四位数字)安装的模式版本。
- 打开模块目录中的webform.install文件,然后使用比您拥有的模式版本更大的模式版本搜索所有更新。它们看起来像
webform_update_6XXX()
的功能。
- 在可用的php控制台http://example.com/devel/php上一次运行所有这些更新,直到找到打破系统并可以调试的更新。
- File a bug与您的补丁,使社区可以从您的工作中受益。
- 解决了问题并安装了所有更新后,您可以使用您运行的最后一个模式编号手动设置系统表。
另一种选择,你可以尝试:
- 备份你的数据库!
- 完全停用并卸载webform模块。
- 安装新版本的webform。
- 手动通过SQL从表中导入数据的备份数据库
这两个选项可以是棘手和耗时。
希望这会有所帮助!
来源
2009-11-22 00:13:08
mac