gpt4 book ai didi

php - PHP 中的 MySQL 访问被拒绝,CLI 将连接

转载 作者:行者123 更新时间:2023-11-29 13:51:36 25 4
gpt4 key购买 nike

起初我尝试仅使用 PHP 中的 PDO 连接。但是,我收到访问被拒绝的消息。我可以使用完全相同的命令连接到命令行界面,但 php 从 PDO 给出此错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'avt_root'@'localhost' (using password: YES)' in C:\inetpub\wwwroot\index.php:3 Stack trace: #0 C:\inetpub\wwwroot\index.php(3): PDO->__construct('mysql:host=loca...', 'avt_root', '[**]') #1 {main} thrown in C:\inetpub\wwwroot\index.php on line 3

$db = new PDO("mysql:host=localhost;dbname=AVT_TIME", "avt_root", "[**]");

接下来我尝试使用 mysql_connect 连接来排除 PDO 参数不正确的问题:

$mysql = mysql_connect("localhost", "avt", "[**]");

但是,即使这给了我几乎相同的错误:

Warning: mysql_connect(): Access denied for user 'avt'@'localhost' (using password: YES) in C:\inetpub\wwwroot\index.php on line 2

服务器配置:IIS7.0,PHP 在 fast_cgi 下运行,并且安装了 MySQL,并在 php.ini 文件中选择了正确的扩展名。

感谢任何和所有帮助,减去有关正确用户名和密码的任何评论,我已经检查并三次检查了 avt_root 和 avt 帐户。两者的密码实际上是相同的,并且都可以通过远程桌面通过 CLI 登录。

最佳答案

localhost 在 mysql-land 中可能有点不稳定。 mysql_*() 函数使用的标准 mysql 接口(interface)库在内部将 localhost 重新定义为本地 unix 域套接字连接。这纯粹是为了提高效率,因为 unix 套接字没有 TCP 套接字那样的开销。

PDO,可能使用mysqlnd,不会有这个问题。 localhost 将表示 127.0.0.1,它将尝试使用 TCP 套接字。

确保您的 avt 帐户设置为 avt@127.0.0.1 以允许 TCP 连接。

关于php - PHP 中的 MySQL 访问被拒绝,CLI 将连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16617768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com