这是一个奇怪的问题,我从来没有能够解决自从我开始使用Laravel。
当我在db-config中发出像'php artisan migrate'这样的工匠命令时(我通过MAMP使用MySQL),主机行必须是:
'host' => 'localhost:8889',
然而,当在web浏览器中加载页面时,我得到:
SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhost:8889'
当我把它改成:
'host' => 'localhost',
在我运行应用程序的实时服务器上,我没有这个问题。这里出了什么问题?
这很可能发生,因为您刚刚使用Terminal cd进入该目录并从那里运行php artisan migrate
命令。您需要使用vagrant ssh
ssh到您的迁移盒,然后导航到您的项目文件夹并从那里运行migrate命令。
MySQL服务器在本地运行的端口是什么?默认情况下,MySQL会在:3306上查找服务器,所以你会得到错误,除非有东西为它服务或重定向它
我猜prod服务器在:8889上运行MySQL,而你的本地环境在:3306上运行MySQL
在本地环境中,您可以将端口更改为8889:
http://www.mamp.info/en/documentation/q11
或者转发端口:
http://www.chrisvanpatten.com/port-forwarding-mavericks