我在直播服务器上将Laravel 5连接到MySQL时遇到问题,在localhost上似乎可以,但当我将其上传到直播服务器时,它不会连接,并说:
Connector.php第47行PDOException:SQLSTATE[HY000][2003]无法连接到"10.0.0.131'"上的MySQL服务器(111)
这是我的配置
本地服务器:
config/database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'database' => env('DB_DATABASE', 'MY_DATABASE_NAME'),
'username' => env('DB_USERNAME', 'MY_USERNAME'),
'password' => env('DB_PASSWORD', 'MY_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
.env
APP_ENV=local
APP_DEBUG=true
APP_KEY=0jxkNPPT1PVVx0sFdMpxfVeqe5C24HLP
DB_HOST=127.0.0.1
DB_DATABASE=MY_DATABASE_NAME
DB_USERNAME=MY_USERNAME
DB_PASSWORD=MY_PASSWORD
CACHE_DRIVER=file
SESSION_DRIVER=file
实时服务器:
config/database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '10.0.0.131'),
'database' => env('DB_DATABASE', 'MY_DATABASE_NAME'),
'username' => env('DB_USERNAME', 'MY_USERNAME'),
'password' => env('DB_PASSWORD', 'MY_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
.env
APP_ENV=local
APP_DEBUG=true
APP_KEY=0jxkNPPT1PVVx0sFdMpxfVeqe5C24HLP
DB_HOST=10.0.0.131
DB_DATABASE=MY_DATABASE_NAME
DB_USERNAME=MY_USERNAME
DB_PASSWORD=MY_PASSWORD
CACHE_DRIVER=file
SESSION_DRIVER=file
假设您确实要连接到10.0.0.131
并且没有更改默认侦听端口,则这似乎不是配置错误。因为客户端试图连接到您指定的数据库,但由于连接拒绝错误而无法连接,这告诉您存在潜在的TCP问题。
可能的情况有:
- 服务未运行
- 服务未侦听外部连接
- 防火墙阻止连接
- 网络问题
您应该尝试登录到远程服务器,然后从那里通过一些shell命令连接到数据库,以验证您是否可以。