Laravel生产中的数据库访问被拒绝

时间:2019-11-19 11:35:30

标签: php mysql laravel hosting

我正在尝试在生产主机上发布Laravel 5.8应用程序。我已经上传了文件,并在.env文件中进行了更改。但是仍然在访问我的应用程序时,它会引发错误:

  

拒绝访问用户'root'@'127.0.0.1'(使用密码:否)

下面是我的.env文件:

offline_access

我还对database.php进行了更改:

DB_CONNECTION=mysql
DB_HOST= ip
DB_PORT=3306
DB_DATABASE=secret
DB_USERNAME='secret'
DB_PASSWORD='secret'

2 个答案:

答案 0 :(得分:1)

尝试。

php artisan config:cache

然后

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=secret   //enter your right databse name
DB_USERNAME=secret  //please check your username
DB_PASSWORD=secret  //please check your password

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=secret  //enter your right databse name
DB_USERNAME=root     //please check your username
DB_PASSWORD=enter your correct password //please check your password

更改您的databse.php

'users' => [
    'driver' => 'mysql',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env(‘DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSNORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => false,
    'engine' => null,
    'options' => extension_loaded('pdo_mysql') ? array_filter([
        PDO: :I'IYSQL_ATTR_SSL_CA => env( 'MYSQL_ATTR_SS L_CA' ),
    ]) : [],
},

答案 1 :(得分:0)

作为评论建议,使用localhost而不是127.0.0.1,但是,我也遇到了同样的错误,问题出在Laravel项目缓存中:只需使用php artisan config:cache重新缓存文件,或者只是删除bootstrap / cache文件夹中的所有文件