使用 DB_HOST=localhost 和 127.0.0.1 PDOException 运行 Laravel 5 项目

Posted

技术标签:

【中文标题】使用 DB_HOST=localhost 和 127.0.0.1 PDOException 运行 Laravel 5 项目【英文标题】:Running Laravel 5 project with DB_HOST=localhost and 127.0.0.1 PDOException 【发布时间】:2016-10-13 22:24:22 【问题描述】:

我在 Windows 10、VB、宅基地上使用 Laravel 5,我还是新手,我刚刚开始学习 Laravel。

当我在 Chrome 中使用 .env 文件中的 DB_HOST=127.0.0.1 运行我的项目时,我收到以下错误消息: Connector.php 第 55 行中的 PDOException: SQLSTATE[HY000] [2002] 连接被拒绝

当我将 DB_HOST 更改为 localhost 时,一切都很好,除非我使用 tinker (php artisan tinker)。我收到这条消息: 带有消息“SQLSTATE[HY000] [2002] 没有这样的文件或目录”的 PDOException

数据库与 DB_HOST=localhost 和修补程序 DB_HOST=127.0.0.1 一起使用

所以,我不能同时使用两者,每次我必须将 .env 文件中的 DB_HOST 从 localhost 更改为 127.0.0.1

我可以做些什么来解决这个问题?

【问题讨论】:

【参考方案1】:

如果你使用 Homestead,你的 DB_HOST 应该设置为 localhost。

在这种情况下 artisan (migrate) 无法连接到数据库的原因是因为您没有在虚拟机中执行命令。

要以正确的方式连接到您的虚拟机,请使用:

vagrant ssh

登录后,照常继续。

希望有帮助!

【讨论】:

我也在使用 WAMP,当我连接到我的虚拟机并输入 php artisan 或 php artisan tinker 等时(在我的项目中,vagrant/Code/Laravel)我收到一个错误:程序' php' 当前未安装。您可以通过键入安装它: sudo apt-get install php5-cli

以上是关于使用 DB_HOST=localhost 和 127.0.0.1 PDOException 运行 Laravel 5 项目的主要内容,如果未能解决你的问题,请参考以下文章

无法让 PHP lastInsertId() 使用此设置

无法连接到 mysql php/xampp

PHP操作数据库

laravel 中 .env 文件中的 localhost vs 127.0.0.1

mysql数据库连接过程详细

php附近的地方脚本帮助