gpt4 book ai didi

php - MySQL 数据库尝试更新信息但未出现在网站上

转载 作者:可可西里 更新时间:2023-11-01 06:34:28 26 4
gpt4 key购买 nike

我在 Symfony 中有一个链接到 MySQL 数据库的网站。该网站出现了一些问题,所以我必须更新数据库中的信息。问题是,当我更新数据库时,它在那里保持更新,但在网站上它没有显示任何更改。

例如,注册用户。我去数据库更改电子邮件,以便我可以使用相同的电子邮件注册另一个帐户。数据库已使用新电子邮件更新,但在网站上显示旧电子邮件仍在使用中。

我知道我正在更新正确的数据库,因为当我在网站上注册一个新客户时,它会出现在数据库中。关于为什么会发生这种情况的任何想法?

最佳答案

正如 Angel Iliikov 在评论中提到的那样,这很可能是缓存问题。以下建议假定您可以访问命令行——典型的 Symfony 用户应该这样做。如果您还没有,大多数托管服务提供商都允许您获取 SSH访问权限。

清除以下缓存:

<强>1。 Symfony 的缓存

Symfony 将在缓存文件中存储大量数据,以防止它不得不从头开始处理请求。当 Symfony 应用程序出现问题时,一个非常常见的解决方法是清除此缓存并重试。清除此缓存的标准方法是在项目的根目录下运行控制台命令:

$ app/console cache:clear

如果遇到问题,David Soussan answer提供了关于这方面的更多信息。

<强>2。 Doctrine 的缓存

根据 another question 上的评论(由我格式化):

The doctrine cache is often stored in apc rather than in the file system so removing the cache files would not help. The general app/console cache:clear is only for the symfony (app) cache. I don't think it clears the doctrine cache(s).

-caponica

替代 PHP 缓存 (APC) 是在 php.ini 中启用的可选组件。如果 Doctrine 恰好被启用,它也可能在那里缓存信息。

previously mentioned question 上接受的答案提供清除 Doctrine 缓存的答案:

 $ app/console doctrine:cache:clear-metadata 
$ app/console doctrine:cache:clear-query
$ app/console doctrine:cache:clear-result

-amitchhajer

<强>3。您浏览器的缓存

这不太可能导致任何问题。但是,如果您正在执行某些操作以通过 HTTP 发送缓存 header - 应用程序可能已正确更新数据,但您的浏览器显示的是旧页面。

每个浏览器都有不同的清除缓存的方法。 Google 为 how to do it Chrome 提供支持. Mozilla 为 how do it in Firefox 提供支持.


如果清除缓存不能解决您的问题,则可能是您的应用程序或工作流有问题,需要进行调试。您可以尝试一些事情:

  1. 确保您确实更新了正确的数据库。确认这个在两个独立的数据库客户端上。

  2. Create your own Symfonycommand唯一要做的就是查询数据库。如果它返回正确的结果,您应该检查其他组件是否使用相同的查询。如果不是,请检查您的配置/参数以确保您使用的是正确的数据库。

关于php - MySQL 数据库尝试更新信息但未出现在网站上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com