【发布时间】:2016-05-25 11:16:21
【问题描述】:
在 Laravel 5.2 中使用 Mac OS X 和 Homestead 2.2.1。
在终端(在我的项目文件夹中的宅基地内)我可以执行 php artisan 来查看所有可用的命令。当我尝试运行 php artisan migrate 时出现连接错误:SQLSTATE[HY000] [2002] Connection refused
我已经使用这些 .env 设置设置了一个 Laravel 项目
DB_HOST=127.0.0.1
DB_DATABASE=tcv
DB_USERNAME=homestead
DB_PASSWORD=secret
我还为 DB_HOST 尝试了 localhost,为 DB_USERNAME 和 DB_PASSWORD 尝试了 root。并将这些的所有可能变化放在一起!
在 Sequel Pro(数据库管理应用程序)中,我可以使用这些设置进行连接
Host 127.0.0.1
Username homestead
Password secret
Database tcv
Port 33060
但是这个数据库显然是空的,因为我不能从终端迁移到它...
据我所知,这是一个配置问题,因为我可以使用 Sequel Pro 连接到它。但老实说,我完全不知道设置有什么问题。
感谢您的帮助!!
编辑
出于某种原因,将我的项目移动到 MAMP 并运行 php artisan migrate 时,我得到了相同的 SQLSTATE[HY000] [2002] Connection refused 错误。
现在我完全迷失了......
【问题讨论】:
-
您是否尝试过将 ip 地址从 127.0.0.1 更改为 localhost?很久以前我也遇到过类似的问题,这对我有用(现在无法在 mac 上测试)
-
@Adam 是的,我有(就像我在原始问题中所说的那样),不会改变任何事情。但是感谢您的输入...
-
我的错,没看到你已经试过了
-
您的应用正在虚拟机上寻找数据库。我假设 Sequel Pro 能够访问,因为它在主机上。您必须使用您的实际计算机 IP 从 homestead 访问数据库
-
@chikurubhi 什么是正确的解决方法?让应用程序在本地查找数据库?我该怎么做?
标签: php laravel-5 migration homestead laravel-artisan