laravel 中 .env 文件中的 localhost vs 127.0.0.1

Posted

技术标签:

【中文标题】laravel 中 .env 文件中的 localhost vs 127.0.0.1【英文标题】:loacalhost vs127.0.0.1 in .env file in laravel 【发布时间】:2017-07-21 08:18:04 【问题描述】:

我对 Laravel 很陌生。我正在使用宅基地。当我尝试使用 php artisan migrate 命令进行任何迁移时,我必须在 .env 文件中使用 DB_HOST=127.0.0.1 。如果我使用 localhost 而不是 127.0.0.1 如果收到以下错误: [PDO异常] SQLSTATE[HY000] [1045] 用户 'homestead'@'localhost' 的访问被拒绝(使用密码:YES)

然而,当我在模型中使用 eloquent 功能并尝试填充数据库时,我必须将 .env 文件中的 DB_HOST 更改为 localhost,即 DB_HOST=localhost,否则我会收到以下错误: Connector.php 第 55 行中的 PDOException: SQLSTATE[HY000] [2002] 连接被拒绝

我对此一无所知。我都很困惑。我哪里错了??

【问题讨论】:

您是从 Homestead 内部还是从主机系统运行 artisan? @Camilo 我正在从主机系统运行 artisan?我们通常应该在哪里运行工匠命令?在 Homestead 或宿主系统中?? 【参考方案1】:

将其保留为 localhost 并尝试在 Homestead 虚拟机中运行 artisan。

您可以使用homestead sshvagrant ssh 访问虚拟机。然后移动到文档根目录并从那里运行 artisan。

【讨论】:

以上是关于laravel 中 .env 文件中的 localhost vs 127.0.0.1的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5 - env local debug true 没有显示错误

使用 phpunit.xml、.env.dusk.local 和 sqlite 内存数据库设置 Laravel 5.4 和 Dusk

环境目录中的 database.php 文件未在 Laravel 4 中加载

Laravel Dusk 忽略 .env.dusk 和 .env.dusk.local(使用 Valet 和 Laravel 5.5)

Laravel 不读取面板中的 .env 文件

Laravel 4 迁移错误?