【问题标题】:Laravel choosing wrong databaseLaravel 选择了错误的数据库
【发布时间】:2021-05-06 07:56:46
【问题描述】:

我托管了一个 Apache PHP 服务器,上面有几个网站。我们称它们为 X 和 Y。

在我的两个 laravel 网站上清除缓存(并进行了一些更改)后,我经常收到以下错误:

[previous exception] [object] (PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'Y.events_ip' doesn't exist at C:\\Apache24\\htdocs\\X\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Driver\\PDOConnection.php:78)

看起来 X 网站想要使用 Y 网站的数据库,即使 .env 文件设置正确并且其中包含 X 网站的数据库。

我尝试过的事情:
重启 apache
删除 laravel 应用的缓存
检查 .env 文件以及 config/database 文件中的配置

【问题讨论】:

  • 请分享更多细节,以及您解决问题的尝试
  • 我认为您的问题一定出在您的环境中,您是如何从环境中引用 X 数据库的?您可以删除私人信息(密码等)并将您的环境包含在您的问题中吗?

标签: php laravel


【解决方案1】:

对于将来可能遇到此问题的任何人,解决方案很简单:

  • 作曲家转储自动加载

这实际上使我的安装崩溃了,但是在编写之后

  • 作曲家安装

一切都再次奏效了。我仍然没有很好的答案来解释为什么会这样。

【讨论】:

  • 如何解决这个问题?我问是因为我真的不明白这如何解决这个问题。
  • @Silidrone 我也不知道。我怀疑它与我正在使用的 CORS 插件有关。
  • 是的,我的意思是它必须与您正在使用的一个库相关,但我不明白任何一个库如何能够自行选择另一个数据库xD
  • 是的,确实很奇怪。
  • 顺便说一句,如果这确实解决了您的问题(即使我仍然对如何解决问题感到困惑),您应该接受自己的答案,以造福未来的访问者。
猜你喜欢
  • 2019-10-20
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 2017-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多