我在Symfony中有一个链接到MySQL数据库的网站。该网站遇到了一些麻烦,因此我必须更新数据库中的信息。问题是,当我在数据库上更新时,它在那里保持更新,但是在网站上却没有显示任何更改。
例如,用户被注册。我去数据库更改电子邮件,以便可以用同一电子邮件注册另一个帐户。数据库将使用新电子邮件进行更新,但在网站上显示旧电子邮件仍在使用中。
我知道我正在更新正确的数据库,因为当我在网站上注册新客户端时,它会出现在数据库中。关于为什么会发生这种情况的任何想法?
最佳答案
就像Angel Iliikov在评论中提到的那样,这很可能是一个缓存问题。以下建议假定您可以访问命令行-典型的Symfony用户应具有该命令行。如果您还没有它,大多数托管服务提供商将允许您获得SSH访问。
清除以下缓存:
1. Symfony的缓存
Symfony将在缓存文件中存储大量数据,以防止它必须从头开始处理请求。当Symfony应用程序出现问题时,一个非常常见的解决方法是清除此缓存并重试。清除此缓存的标准方法是在项目的根目录中运行控制台命令:
$ app/console cache:clear
如果遇到问题,David Soussan answer会提供有关此问题的更多信息。
2.教义的缓存
根据对another question(由我格式化)的评论者:
备用PHP缓存(APC)是在
php.ini
中启用的可选组件。如果Doctrine恰好启用了信息,则也可能在其中缓存信息。previously mentioned question上可接受的答案为清除Doctrine的缓存提供了答案:
3.浏览器的缓存
这极不可能引起任何问题。但是,如果您正在做一些通过HTTP发送缓存头的操作-应用程序可能已经正确更新了数据,但是浏览器显示的是旧页面。
每个浏览器都有不同的清除缓存的方法。 Google提供了对how to do it Chrome的支持。 Mozilla提供了对how do it in Firefox的支持。
如果清除缓存不能解决您的问题,则可能是您的应用程序或工作流出现了问题,需要进行调试。您可以尝试一些方法:
在两个单独的数据库客户端上。
您唯一要做的就是查询数据库。如果返回正确的结果,则应检查其他组件是否使用相同的查询。如果没有,请检查您的配置/参数,以确保您使用的数据库正确。
关于php - MySQL数据库尝试更新信息,但未显示在网站上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33170404/