Laravel - mysql无法连接到服务器(111)

时间:2016-08-08 20:24:29

标签: php mysql laravel connection

我的laravel 5应用程序正在运行,直到我试图将它放在一个实时的ubuntu服务器上,然后我在运行“php artisan migrate”时遇到了这个错误:

  

[PDOException] SQL STATE [HY000] [2003]无法连接到'162.243.167.251'上的MySQL服务器(111)

我已经检查了互联网上的每个论坛,试图找到解决方案,包括:

I have connected to the database through my command line as seen here

这是我的.env设置:

APP_ENV=local
APP_KEY=base64:9wh57LsV7Wnf0QVjr9KJE2Jw6Makot1wptoVW+O9Ky8=
APP_DEBUG=false
APP_LOG_LEVEL=debug
APP_URL=http://foo.com

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=foodb
DB_USERNAME=foouser
DB_PASSWORD=foopass

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=log
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
...

这是我的config / database.php:

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

我想知道我的联系是否错误,或者我是否遗漏了其他内容。

1 个答案:

答案 0 :(得分:0)

错误消息非常简单:您的应用程序无法使用您提供的设置建立与数据库的连接。它与您的应用程序无关,而是与您提供的配置无关。换句话说,如果您要登录此服务器并执行:

mysql -h localhost -P 3306 -u foouser -p foodb

并提供密码,它会失败。这可能是由以下几点引起的:

  • 您提供的参数之一是错误的
  • 您正在尝试连接到错误的服务器(数据库可能在远程服务器上,没有本地主机?)
  • ...

这在很大程度上取决于您的服务器的配置方式,因此我们无法为您提供更多帮助。