PHP Laravel:无法建立连接,因为目标计算机主动拒绝了它

我正在Laravel

5中构建一个Web应用程序。该应用程序应该获取存储在MySQL数据库中的“类别名称”,并显示一个表单以添加新的“类别名称”。当我执行命令php

artisan serve并导航到http:// localhost:8000 / admin / categories

/时,收到以下错误消息:

PDOException in Connector.php line 50:

SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.

根据我在堆栈溢出时阅读的几篇文章,许多遇到此错误的用户没有正确配置.env文件,该文件覆盖了database.php文件中指定的PHP数据对象(PDO)的默认设置。.env文件定义如下:

DB_HOST=localhost

DB_DATABASE=homestead

DB_USERNAME=homestead

DB_PASSWORD=secret

并且database.php文件中的mysql密钥给出为:

 'mysql' => [

'driver' => 'mysql',

'host' => env('DB_HOST', 'localhost'),

'database' => env('DB_DATABASE', 'homestead'),

'username' => env('DB_USERNAME', 'homestead'),

'password' => env('DB_PASSWORD', 'secret'),

'charset' => 'utf8',

'collation' => 'utf8_unicode_ci',

'prefix' => '',

'strict' => false,

奇怪的是,当我进入虚拟机并运行时mysql -uhomestead -psecret

homestead,我能够连接到数据库。问题是,当我可以使用相同的参数直接连接到MySQL时,为什么Laravel无法连接到MySQL?还有什么可能会拒绝访问Laravel?

回答:

我将homestead.yaml中指定的IP地址从localhost更改为192.168.10.10。然后我跑了homestead

provision,那似乎解决了问题。主机无法解析localhost或127.0.0.1,因为该主机名或主机名已映射到其自身。

以上是 PHP Laravel:无法建立连接,因为目标计算机主动拒绝了它 的全部内容, 来源链接: utcz.com/qa/415647.html

回到顶部