Php 在Laravel 4中,用户的SQLSTATE[HY000][1045]访问被拒绝';锻造&x27@';本地主机';(使用密码:否)

Php 在Laravel 4中,用户的SQLSTATE[HY000][1045]访问被拒绝';锻造&x27@';本地主机';(使用密码:否),php,laravel,laravel-4,Php,Laravel,Laravel 4,我在Laravel 4中得到了这个错误。我的config/database.php文件说 'connections' => array( 'mysql' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'database' => 'my-site-name', 'username' => 'my-site-n

我在Laravel 4中得到了这个错误。我的config/database.php文件说

'connections' => array(

    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => '127.0.0.1',
        'database'  => 'my-site-name',
        'username'  => 'my-site-name',
        'password'  => 'my-password',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

早些时候,我将环境更改为生产环境,现在更改为本地环境。

如果将环境更改为
local
,则应检查
数据库.php
文件是否位于
\app\config\local\
文件夹中。特定于环境的配置将覆盖
\app\config\
文件夹中的全局配置


由于您的连接正在尝试使用
forge
用户名作为
localhost
,因此您刚才发布的配置似乎正在被另一个配置文件覆盖。

如果您将环境更改为
local
,您应该检查
\app\config\local\
文件夹中是否有
database.php
文件。特定于环境的配置将覆盖
\app\config\
文件夹中的全局配置

由于您的连接正在尝试使用
forge
用户名作为
localhost
,您刚才发布的配置似乎被另一个配置文件覆盖。

在database.php中

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'your_db_name'),
            'username' => env('DB_USERNAME', 'your_db_user_name'),
            'password' => env('DB_PASSWORD', 'your_db_password'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
In.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_user_name
DB_PASSWORD=your_db_password
希望,这可能会成功。谢谢。

在database.php中

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'your_db_name'),
            'username' => env('DB_USERNAME', 'your_db_user_name'),
            'password' => env('DB_PASSWORD', 'your_db_password'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
In.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_user_name
DB_PASSWORD=your_db_password

希望,这可能会成功。谢谢。

当您进入phpmyadmin时,导航顶部的面包屑中会出现什么?您的用户名/密码组合正确吗?信息越多越好。我相信它是正确的,我会再检查一遍。但是错误是否应该说用户是“forge”?请查看@emartal的答案。当您进入phpmyadmin时,导航顶部的面包屑中会出现什么?您的用户名/密码组合正确吗?信息越多越好。我相信它是正确的,我会再检查一遍。但是错误应该说用户是“forge”吗?请查看@emartal的答案。哦,我现在知道它是如何工作的了。不过,在config/local中检查文件会显示正确的信息。这很奇怪,因为我从未编辑过。我是Artisan移动的?我不知道,你是否可能从已经有
本地
配置文件的源代码获得
Laravel
安装?我使用了Laravel安装程序(Laravel.phar),所以我现在不知道它是如何工作的。不过,在config/local中检查文件会显示正确的信息。这很奇怪,因为我从未编辑过。我Artisan移动了它?我不知道,您是否可能从已经有
本地
配置文件的源代码获得
Laravel
安装?我使用了Laravel安装程序(Laravel.phar),所以我不这么认为