gpt4 book ai didi

Mac OS X 上的 PHP 和 MySQL : Access denied for GUI user

转载 作者:可可西里 更新时间:2023-11-01 08:38:25 26 4
gpt4 key购买 nike

我刚刚在我的 Macbook 上安装并配置了 Apache、MySQL、PHP 和 phpMyAdmin,以便拥有本地开发环境。但是在我将我的一个项目移到本地服务器之后,我从我对 mysql_query() 的一次调用中得到了一个奇怪的 MySQL 错误:

Access denied for user '_securityagent'@'localhost' (using password: NO)

首先,我发送到 MySQL 的查询都是有效的,我什至通过 phpMyAdmin 对其进行了测试,结果完美。其次,错误消息只发生在这里,而我每页至少有 4 个其他 mysql 连接和查询。对 mysql_query() 的调用发生在一个非常长的函数的末尾,该函数处理新创建或修改的文章的数据。这基本上是它的作用:

  1. 收集文章形式的所有数据(标题、内容、日期等)
  2. 验证收集的数据
  3. 连接到数据库
  4. 根据经过验证的文章数据动态构建 SQL 查询
  5. 在关闭连接之前向数据库发送查询

非常基础,我知道。我不认识用户名“_securityagent”,所以在快速搜索后,我从 Apple Developer Connection 上的一篇文章中发现了这个,该文章讨论了一些随机错误:

Mac OS X's security infrastructure gets around this problem by running its GUI code as a special user, "_securityagent".

因此,正如 Frank 在评论中所建议的那样,我在 mysql_connect() 调用中使用的所有变量上放置了一个 var_dump(),并且每次它返回正确的值(当然,用户名不是“_securityagent”)。因此,我想知道是否有人知道为什么“securityagent”试图连接到我的数据库 - 以及如何在调用 mysql_query() 时避免发生此错误。

最佳答案

如果未明确指定用户名,MySQL 会尝试使用当前系统用户的名称来猜测它。

您不必接受,您只需明确指定所需的用户名即可。

如何——这取决于您的连接方式。如果是 phpMyAdmin,它是 config.inc.php,添加如下行:

$cfg['Servers'][0]['user'] = 'Eirik';

(参见 manual)

关于Mac OS X 上的 PHP 和 MySQL : Access denied for GUI user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203253/

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