Artisan命令在db-config中需要与Laravel本身不同的主机名

时间:2014-08-15 17:24:59

标签: php laravel pdo laravel-4

自从我开始使用Laravel以来,这是一个我从未能解决过的奇怪的事情。

当我在我的db-config中发布像'php artisan migrate'这样的工匠命令时(我通过MAMP使用MySQL),主机行必须是:

'host' => 'localhost:8889',

然而,当我在网络浏览器中加载页面时,我得到了:

SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhost:8889'

当我将其更改为:

时,它神奇地起作用
'host' => 'localhost',

在实时服务器上我正在运行应用程序我没有这个问题。 这里出了什么问题?

2 个答案:

答案 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