php增加用户时出现的【SQLSTATE[HY000] [2002]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php增加用户时出现的【SQLSTATE[HY000] [2002]相关的知识,希望对你有一定的参考价值。

不知道大神们知道吗 我不知道怎么解决

SQLSTATE[HY000] [2002] 由于目标计算机积极拒绝,无法连接

php PDO连接mysql数据库时,如果MySQL没有启动或者无法访问时将会出现SQLSTATE[HY000] [2002]错误。该错误信息是由PHP所在的计算机系统底层产生的,如果操作系统为Windows并且操作系统语言为简体中文,那么错误信息为GBK编码,PHP使用非GBK编码时会出现乱码,解决方法是将错误信息从GBK转码为UTF-8以后再输出,转码可以使用iconv()函数,该函数需要开启php mbstring扩展以后才能使用,下面是解决 SQLSTATE[HY000] [2002] 乱码的PHP示例代码。在php.ini中开启扩展即可

用上面方法先解决乱码提示,然后解决2002问题
参考技术A 还是tp框架追问

啥意思啊

我不大懂这方面 第一次接触

追答

要看看你调用是什么方法

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

【中文标题】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] [2002]的主要内容,如果未能解决你的问题,请参考以下文章

YII2数据库操作出现类似Database Exception – yiidbException SQLSTATE[HY000] [2002] No such file or director

YII2数据库操作出现类似Database Exception – yiidbException SQLSTATE[HY000] [2002] No such file or director

SQLSTATE [HY000] Laravel 8 中的外键约束格式错误

PHP Socket PDO SQLSTATE[HY000] [2002] 没有这样的文件或目录

SQLSTATE [HY000]:一般错误:1364 字段 'uID' 没有默认值

PHP PDOException:“SQLSTATE [HY093]:无效参数号”