在Laravel 5.2上使用Mac OS X和Homestead 2.2.1。
在终端中(我的项目文件夹中的宅基地内),我可以做php artisan来查看所有可用命令。当我尝试运行php artisan migration时,出现连接错误:
SQLSTATE[HY000] [2002] Connection refused
我已经使用这些.env设置设置了Laravel项目
DB_HOST=127.0.0.1
DB_DATABASE=tcv
DB_USERNAME=homestead
DB_PASSWORD=secret
我还尝试了DB_HOST的本地主机和DB_USERNAME和DB_PASSWORD的根。并且将所有这些可能的变化放在一起!
在Sequel Pro(数据库管理应用程序)中,我可以使用以下设置进行连接
Host 127.0.0.1
Username homestead
Password secret
Database tcv
Port 33060
但是这个数据库显然是空的,因为我不能从终端迁移到它。
据我所知,这是一个配置问题,因为我可以使用Sequel Pro连接到它。但老实说,我不知道什么是错误的设置。
谢谢您的帮助 !!
编辑
由于某种原因,SQLSTATE[HY000] [2002] Connection refused
当我将项目移至MAMP并运行php artisan migration时,会出现相同的错误。
现在我完全迷路了...
问题
在Laravel中,您可以config/database.php
找到所有连接设置的位置。您.env
的项目的根目录中也有一个文件(每个人都可以节省时间)。它包含可用于整个项目的变量。
在一个标准的L5项目中,MySql部分config/database.php
如下所示:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
注意没有设置端口!
虽然在我的.env
档案中已经设定DB_PORT=33060
。但这value (3306)
从未读过config/database.php
。
因此,不要像我一样笨拙,而忘记检查database.php
文件。
'port' => env('DB_PORT', 3306),
到您的config / database.php中,并在.env中像这样设置该值 DB_PORT=3306
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句