我在cPanel上传了一个Laravel项目。它出现以下错误
SQLSTATE [HY000] [1044]用户'amartuki_finance'@'localhost'拒绝访问数据库'amartuki_finance'
但是我已经更改了我的.env
文件的数据库名称,用户名和密码。也可以在config/database.php
文件中配置。
.env
档案
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=amartuki_finance
DB_USERNAME=amartuki_finance
DB_PASSWORD=amartuki_finance
config/database.php
档案
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'amartuki_finance'),
'username' => env('DB_USERNAME', 'amartuki_finance'),
'password' => env('DB_PASSWORD', 'amartuki_finance'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
那么解决方案是什么!有人帮忙吗?
答案 0 :(得分:3)
解决了我的问题。这是一个非常愚蠢的错误。
创建用户后,我没有将用户添加到我的数据库中,这就是用户没有获得任何权限的原因。
现在更改这些内容并成功运行项目。
答案 1 :(得分:0)
您应该按照以下方法在env
Laravel
值
Dotenv ::负载(BASE_PATH()); //你的env文件的路径
Dotenv ::需要(阵列(' DB_PORT'' DB_HOST&#39 ;, ' DB_DATABASE',' DB_USERNAME',' DB_PASSWORD',' DB_SOCKET'));
'mysql' => [ 'driver' => 'mysql', 'host' => getenv('DB_HOST'), 'port' => getenv('DB_PORT'), 'database' => getenv('DB_DATABASE'), 'username' => getenv('DB_USERNAME'), 'password' => getenv('DB_PASSWORD'), 'unix_socket' => getenv('DB_SOCKET'), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],