首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP Laravel:无法建立连接,因为目标计算机主动拒绝连接

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

Stack Overflow用户
提问于 2015-09-11 09:42:39
回答 15查看 57.5K关注 0票数 21

我正在用Laravel 5构建一个web应用程序。该应用程序应该获得存储在MySQL数据库中的“类别名称”,并显示一个表单来添加新的“类别名称”。当我执行命令php artisan serve并导航到http://localhost:8000/admin/categories/时,我收到以下错误消息:

代码语言:javascript
复制
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 Object (PDO)的默认设置。.env文件定义如下:

代码语言:javascript
复制
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

database.php文件中的mysql密钥如下所示:

代码语言:javascript
复制
 '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,

奇怪的是,当我通过ssh进入我的虚拟机并运行mysql -uhomestead -psecret homestead时,我能够连接到数据库。问题是,为什么Laravel无法连接到MySQL,而我可以使用相同的参数直接连接到它?还有什么可以拒绝访问Laravel?

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2015-09-19 00:23:40

我将homestead.yaml中指定的ip地址从本地主机更改为192.168.10.10。然后我运行了homestead provision,这似乎解决了问题。主机无法解析localhost或127.0.0.1,因为它们已映射到自身。

票数 7
EN

Stack Overflow用户

发布于 2020-11-05 20:05:11

我得到这个错误是因为我忘记在XAMPP控制器中启动MySQL。

票数 10
EN

Stack Overflow用户

发布于 2018-06-01 09:03:40

有时可能会出现缓存问题:

代码语言:javascript
复制
    php artisan config:clear
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32514241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档