Laravel尝试连接到本地数据库,而数据库位于外部服务器。

7 浏览
0 Comments

Laravel尝试连接到本地数据库,而数据库位于外部服务器。

我正在本地主机上工作,并且希望将我的laravel应用程序连接到外部数据库。我将所有的设置放在:

config/database.php:

'mysql' => [
    'driver' => 'mysql',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', 'XX.XX.XXX.XXX'),
    'port' => env('DB_PORT', 'XXXX'),
    'database' => env('DB_DATABASE', 'name'),
    'username' => env('DB_USERNAME', 'username'),
    'password' => env('DB_PASSWORD', 'password'),
    'unix_socket' => env('DB_SOCKET', '/var/run/mysqld/mysqld.sock'),
    'charset' => 'latin-1',
    'collation' => 'latin1_swedish_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => 'InnoDB',
    'options' => extension_loaded('pdo_mysql') ? array_filter([
        PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
    ]) : [],
],

.env:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:X...
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DATABASE_URL=XX.XX.XXX.XXX:XXXX
DB_HOST=XX.XX.XXX.XXX
DB_PORT=XXXX
DB_DATABASE=name
DB_USERNAME=username
DB_PASSWORD=password

我遇到了相同的错误:

SQLSTATE[HY000] [1045] access denied for user : 'username'@'@localhost'

似乎应用程序试图连接到本地主机数据库,但我的数据库不在本地。

0
0 Comments

问题原因:在更改.env文件时,如果使用artisan(php artisan serve)启动项目,需要关闭并重新启动项目。

解决方法:尝试关闭并重新启动项目。

代码示例:

php artisan serve

0