php - 用户 'SYSTEM' @'localhost' 的访问被拒绝(PHP 5.2.17 + mySQL 5.5.8 + Windows 7)

标签 php mysql mysql-error-1045

我想在 PHP 5.2 环境中测试为 PHP 5.3.5(作为 Apache 模块安装)编写的脚本。

我安装了 Apache 2.0.64 和 PHP 5.2.17 的全新副本,并完全按照我之前配置 PHP 5.3 的方式进行配置。除了我确实将 libmysql.dll 复制到 Apache bin 目录中(PHP 5.3 不再有此文件)。

两台服务器都是手动配置的(不是 XAMPP 版本或其他版本)并访问相同的本地安装的 mySQL Server 5.5.8。两台服务器都在系统帐户下作为 Windows Server 运行。

PHP 5.3 运行完美,PHP 5.2 返回错误:

Warning: mysql_connect() [function.mysql-connect]: Access denied 
for user 'SYSTEM'@'localhost' (using password: NO) in C:\Tools\htdocs\myscript.php on line 33

我使用的 SQL 用户是在 PHP 代码中硬编码的,它不是 SYSTEM@localhost。 SYSTEM 似乎是运行 Apache 的 Windows 帐户。 (如果我从管理员帐户启动 Apache,消息将更改为 Administrator@localhost。)

我的 SQL Server 上的默认用户(名为“”)已被删除。如果此空用户存在,则 PHP 5.2 会成功连接到数据库,但由于权限问题,数据库选择 (mysql_select_db) 会失败。

最佳答案

如果php.inion中的sql.safe_mode(不是PHP安全模式),则PHP始终使用该脚本连接到 SQL 服务器的所有者,而不是 mysql_connect() 中指定的用户。

我在配置过程中混淆了属性 safe_modesql.safe_mode,花了我 6 个小时!

答案在这里找到:http://www.php.net/manual/de/ref.mysql.php#72632

关于php - 用户 'SYSTEM' @'localhost' 的访问被拒绝(PHP 5.2.17 + mySQL 5.5.8 + Windows 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958564/

相关文章:

分组依据中的Mysql时间差异

'load data' 的 Mysql 权限错误

mysql - 对文件的查询输出给出拒绝访问错误

php - 通过 python 或 php 从 gmail 中获取附件

javascript - Raspberry Pi 的 PHP/HTML 通信

sql - MySQL - 对象权限结构

mysql - WHERE 子句中字段的顺序是否会影响性能?

php - Codeigniter 2 $this->db->join 与 $this->db->update 一起使用

php - PHP 值没有结果 Mysqli stmt

php - 在 PHPmyadmin 中加载数据 INFILE