【问题标题】:Laravel & phpMyAdmin - pdoexception no connection could be made because the target machine actively refused itLaravel & phpMyAdmin - pdoexception 无法建立连接,因为目标机器主动拒绝它
【发布时间】:2016-04-22 01:27:43
【问题描述】:

我正在使用 Laravel 5.2 和 phpMyAdmin(我通过 InstantWordpress 运行),当我尝试迁移数据库时,我从命令行收到以下错误消息:

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

这是我的 .env 文件的样子:

APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:IBh/yuGAXTC2a2rRD7A9VE5io7AbPXLYfJUfLyFnRfA=
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=micedb
DB_USERNAME=roo
DB_PASSWORD=roo

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

然后,当我在浏览器中查看应用程序时,我有一个登录页面,好像初始迁移已经成功,但数据库中没有任何内容,当我尝试注册时,我收到一条错误消息和堆栈跟踪。

【问题讨论】:

  • 可能您的意思是 MySQL(或 MariaDB)而不是 phpMyAdmin。 phpMyAdmin 是管理员用来管理其数据库服务器的应用程序;它本身不是数据库。
  • 我很确定我一直在使用 phpMyAdmin。它是 InstantWordPress 的一部分(非常好)。我想我会尝试 MySql 或其他类型的数据库,因为我似乎无法连接到我制作的数据库。我以前一直可以,但 Laravel 似乎不想连接。有时间我会尝试另一种方法。

标签: php mysql laravel


【解决方案1】:

在配置->数据库中

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'DBName'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
    'strict' => false,
    'engine' => null,
],

在 .env 文件中:

DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=DBName
DB_USERNAME=root
DB_PASSWORD=

关闭laravel应用服务器,重新启动清除缓存。

 php artisan serve

试试这个。祝你好运!

【讨论】:

  • 我按原样尝试过。我尝试将 DBName 替换为 env 文件中的数据库名称,然后尝试在两个文件中使用数据库名称。我每次都收到相同的错误消息。我将数据库软件存储在计算机的辅助驱动器上,但我在同一个驱动器上安装了 laravel 应用程序。那不会有任何关系吧?
  • 我认为这没有问题,因为我也只是这样使用。
  • WAMP图标的颜色是什么?
  • 不是 WAMP。 InstantWordpress。
  • 我坚信由于端口号的原因,与服务器的连接没有正确建立。尝试 DB_port=''。我正在使用 Wamp 并且对 Instant WordPress 了解较少。
猜你喜欢
  • 2015-12-07
  • 2011-08-24
  • 2023-03-25
  • 2018-08-16
  • 2015-04-05
  • 2016-12-08
  • 2014-09-05
  • 2017-06-01
相关资源
最近更新 更多