Python ejabberd Auth Script 未响应数据库中的更改
Posted
技术标签:
【中文标题】Python ejabberd Auth Script 未响应数据库中的更改【英文标题】:Python ejabberd Auth Script not responding to changes in Database 【发布时间】:2010-09-19 16:09:45 【问题描述】:我在 ejabberd(XMPP 服务器)中有一个基于 THIS LINK 的身份验证脚本
我稍微修改了脚本,因此它没有设置变量,而是返回真或假。
我正在使用 Ubuntu、mysql、ejabberd 和 Python。
我可以验证数据库中已有的所有记录。但是,当我添加或删除记录(我通过 phpMyAdmin 执行此操作)时,脚本似乎不知道数据库已更改(我在 phpMyAdmin 中删除了一个用户,它仍然对用户进行身份验证)。脚本识别新记录的唯一时间是我重新启动或强制重新加载 ejabberd 服务器时。我已经被告知这不是 mySQL 缓存问题。我确保关闭了 ejabberd 的外部身份验证缓存。
这就是我现在能想到的。如果我能想到的话,我会添加更多信息。任何帮助表示赞赏。我不知道发生了什么。
补充:我打开了 MySQL 日志,所有的查询都在那里,所以没有跳过查询。
【问题讨论】:
【参考方案1】:我设法通过将数据库引擎改回 MISAM 而不是 INNODB 来解决这个问题。但我想知道这是否可以为 INNODB 修复。
编辑:要在 innodb 中修复它,请将 autocommit 设置为 true
【讨论】:
以上是关于Python ejabberd Auth Script 未响应数据库中的更改的主要内容,如果未能解决你的问题,请参考以下文章
Ejabberd auth http 查询到 django 服务器未经身份验证
Ejabberd - ejabberd_auth_external:失败:103调用'check_password'时外部认证程序失败