Python ejabberd Auth 脚本不响应数据库中的更改

发布于 2024-09-24 09:21:42 字数 537 浏览 4 评论 0原文

我在 ejabberd (XMPP 服务器)中有一个基于 此链接

我稍微修改了脚本,以便它不设置变量,而是返回 true 或 false。

我正在使用 Ubuntu、MySQL、ejabberd 和 Python。

我可以验证数据库中已有的所有记录。但是,当我添加或删除记录时(我通过 phpMyAdmin 执行此操作),脚本似乎不知道数据库已更改(我在 phpMyAdmin 中删除用户,但它仍然对用户进行身份验证)。脚本识别新记录的唯一时间是当我重新启动或强制重新加载 ejabberd 服务器时。我已经被告知这不是 mySQL 缓存问题。我确保关闭了 ejabberd 的外部身份验证缓存。

我现在能想到的就是这些。如果我能想到的话,我会添加更多信息。任何帮助表示赞赏。我不知道发生了什么事。

另外:我打开了 MySQL 日志以及所有查询,因此不会跳过查询。

I have an authentication script in ejabberd (XMPP server) that based off of THIS LINK

I have slightly modified the script so that instead of setting the variable out, it just returns true or false.

I'm using Ubuntu, MySQL, ejabberd, and Python.

I can authenticate all the records that are already on the database. But, when I add or remove records (I do this through phpMyAdmin), the script doesn't seem to know that the database has changed (I remove a user in phpMyAdmin and it still authenticates the user). The only time when the script recognizes the new records is when I restart or force-reload the ejabberd server. I've already been told its not a mySQL caching problem. I made sure I turned off external authentication caching for ejabberd.

That's all I can think of right now. I'll add more information if I can think of it. Any help is appreciated. I have no idea what is going on.

Addition: I turned on the MySQL logs, and all the queries there so there is not skipping queries.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嗼ふ静 2024-10-01 09:21:42

我通过将数据库引擎更改回 MYISAM 而不是 INNODB 来解决这个问题。但我想知道 INNODB 是否可以解决这个问题。

编辑:要在 innodb 中修复它,请将 autocommit 设置为 true

I managed to fix this problem by changing the database engine back to MYISAM rather than INNODB. But I would like to know if this can be fixed for INNODB.

Edit: to fix it in innodb, set autocommit to true

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文