所以,我有一个非常简单的php配置文件连接到MySQL数据库,称为connect.php
在一个名为modules
的文件夹中,它包含在所有需要访问数据库的页面中。我在我的plesk面板中使用数据库(我们称其为db1
)创建了一个用户(我们称其为db_user
)。现在,当我尝试访问数据库时,通过一个自定义登录页面,简单地检查db1
,看看用户名和密码是否匹配,我得到以下错误日志:
[Wed Jun 11 23:21:59 2014] [warn] [client 1.2.3.4] mod_fcgid: stderr: PHP警告:mysql_connect(): Access denied for user' db_user'@'localhost' (using password: YES) in/var/www/vhosts/~sitename~/httpdocs/modules/connect.php on line 2, referer: http://~sitename~/admin/login
[Wed Jun 11 23:21:59 2014] [warn] [client 1.2.3.4] mod_fcgid: stderr: PHP警告:mysql_select_db(): Access denied for user " @'localhost' (using password: NO) in/var/www/vhosts/~sitename~/httpdocs/modules/connect.php on line 3, referer: http://~sitename~/admin/login
[…](更多的消息本质上说它没有连接,因此试图连接没有用户名和密码)
connect.php
文件为:
<?php
mysql_connect('localhost', 'db_user', 'password');
mysql_select_db("db1");
?>
以下是SHOW GRANTS FOR db_user@'%';
##Grants for db_user@%##
`GRANT USAGE ON *.* TO 'db1'@'%' IDENTIFIED BY PASSWORD '*BEE6E9D5D5A3C2E1EC93EBCA0E4E527C0328BE01'`
GRANT ALL PRIVILEGES ON `db_user`.* TO 'db1'@'%'
请注意,在我的工作站上,我的MAMP配置上的一切都运行得很顺利,所以我怀疑是否存在任何与代码相关的问题。所以,我已经没有办法解决这个问题了……任何建议将非常感激!
显然在数据库部分有一个名为Database server
的列,它给出了数据库的地址,在我的情况下根本不是localhost
, 127.0.0.1
或类似的东西!
我更改了地址,它工作了!