自从我开始使用Laravel以来,这是一个我从未能解决过的奇怪的事情。
当我在我的db-config中发布像'php artisan migrate'这样的工匠命令时(我通过MAMP使用MySQL),主机行必须是:
'host' => 'localhost:8889',
然而,当我在网络浏览器中加载页面时,我得到了:
SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhost:8889'
当我将其更改为:
时,它神奇地起作用'host' => 'localhost',
在实时服务器上我正在运行应用程序我没有这个问题。 这里出了什么问题?
答案 0 :(得分:1)
这很有可能发生,因为你只是使用终端进入目录并从那里运行php artisan migrate
命令。您需要使用vagrant ssh
ssh到您的流浪盒中,然后导航到您的项目文件夹并从那里运行migrate命令。
答案 1 :(得分:0)
您的MySQL服务器在本地运行的端口是什么?默认情况下,MySQL会在以下位置查找服务器:3306,因此您将收到错误,除非有什么东西可以提供服务或重新指示它
我的猜测是prod服务器正在运行MySQL:8889并且您的本地环境正在运行MySQL:3306
在您的本地环境中,您可以将端口更改为8889:
http://www.mamp.info/en/documentation/#q11
或转发端口:
http://www.chrisvanpatten.com/port-forwarding-mavericks