【问题标题】:PHP SQLSTATE[HY000] [1045] Access denied for user LaravelPHP SQLSTATE[HY000] [1045] 用户 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
  • 很有可能。如果您有本地数据库,则可以使用本地数据库凭据编辑此文件(我们显然无法告诉您这些凭据是什么 - 您需要设置它们)。此外,您可能希望添加一个环境系统,该系统可以检测您是在本地运行还是在远程服务器上运行,并自动连接到正确的服务器。

标签: php mysql svn laravel


【解决方案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】:

      我遇到了同样的问题

      1. php artisan 缓存:清除
      2. 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
          

          【讨论】:

            猜你喜欢
            • 2017-08-27
            • 2014-09-22
            • 2019-07-09
            • 2019-12-01
            • 2021-02-27
            • 2018-07-22
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多