我在localhost上工作,我想将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 :(得分:1)
如果您使用artisan(php artisan serve)为您的项目提供服务,则您将其杀死,并在更改.env文件中的内容时再次启动它。
您可以尝试吗?