PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝

Posted

技术标签:

【中文标题】PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝【英文标题】:PHP SQLSTATE[HY000] [1045] Access denied for user Laravel 【发布时间】:2015-06-15 08:31:21 【问题描述】:

我正在与团队一起使用 SVN 开发一个项目(php Laravel 4.2),在我检查了我的磁盘(本地)上的存储库并尝试打开链接 localhost/mylaravel 后,我收到了这个错误

PDOException (1045) SQLSTATE[HY000] [1045] 拒绝用户访问 'dbusername'@'xx.xxx.xx.xxx'(使用密码:YES)

注意:我更改了真实的用户名和主机IP

数据库不在本地,它是远程在线托管的。但该项目位于本地主机上。

config/database.php

'connections' => array(

        'sqlite' => array(
            'driver'   => 'sqlite',
            'database' => __DIR__.'/../database/production.sqlite',
            'prefix'   => '',
        ),

        /**
         * remote database connection
         */
        'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'hostIP:port',
            'database'  => 'mydatabasename',
            'username'  => 'mydbusername',
            'password'  => 'root123456',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

        'pgsql' => array(
            'driver'   => 'pgsql',
            'host'     => 'localhost',
            'database' => 'forge',
            'username' => 'forge',
            'password' => '',
            'charset'  => 'utf8',
            'prefix'   => '',
            'schema'   => 'public',
        ),

        'sqlsrv' => array(
            'driver'   => 'sqlsrv',
            'host'     => 'localhost',
            'database' => 'database',
            'username' => 'root',
            'password' => '',
            'prefix'   => '',
        ),

    )

【问题讨论】:

数据库是否有远程访问权限? 不,不止一个团队成员在同一个数据库上工作@NathanvanderWerf 我原以为错误很明显。您正在尝试访问数据库服务器,但您的用户名和/或密码不正确。 我认为我需要额外的配置,因为我使用的是 localhost @halfer 很有可能。如果您有本地数据库,则可以使用本地数据库凭据编辑此文件(我们显然无法告诉您这些凭据是什么 - 您需要设置它们)。此外,您可能希望添加一个环境系统,该系统可以检测您是在本地运行还是在远程服务器上运行,并自动连接到正确的服务器。 【参考方案1】:

只需在终端中运行以下工匠命令。 1.php artisan cache:clear 2.php artisan config:cache

现在刷新您的网址,登录将完美运行。

【讨论】:

【参考方案2】:
$ php artisan cache:clear
Application cache cleared!
$ php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!

在终端的相应路径中运行 php artisan cache:clear 然后 php artisan config:cache。

以上应该是结果

【讨论】:

【参考方案3】:

我遇到了同样的问题

    php artisan 缓存:清除 php 工匠配置:缓存

但发现与我运行此工匠命令相同的问题

php artisan view:clear

希望它会有所帮助。 注意:我的项目是 Laravel 5.*

【讨论】:

【参考方案4】:

只更改.env 文件,不要更改config/database.php 文件。请将config/database.php文件设为默认。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1 or IP address
DB_PORT=3306
DB_DATABASE='your database name'
DB_USERNAME='your username'
DB_PASSWORD='your password'

它对我有用!

【讨论】:

【参考方案5】:

请运行命令行:

php artisan optimize

【讨论】:

以上是关于PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

CPanel SQLSTATE[HY000] [1045] 拒绝用户访问

连接失败:SQLSTATE[HY000][1045] Access denied for 'username'@'localhost'(user password:YES) 我正在尝试使用 PDO 连

SQLSTATE[HY000] [1045] 'user'@'localhost' 的访问被拒绝(使用密码:YES)

XAMPP SQLSTATE[HY000] [1045]

意外异常:SQLSTATE[HY000] [1045] 用户 ****@'localhost' 的访问被拒绝(使用密码:YES)

(“SQLSTATE [HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:NO)”)