拒绝用户www-data的连接访问


Connection Access Denied for user www-data

我有一个简单的PHP页面,它连接到数据库来读取值,当我在本地部署它时,这一切似乎都很好。然而,当我部署到我的服务器,然后它不会连接-它看起来像我忽略我的连接文件,并使用默认值…?

    <?php
//Database details
include "Connection.php";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
?>
//Contents of Connection.php
<?php
  $user_name = "sam";
$password = "123456";
$database = "clubleague";
$server = "localhost";
?>

Error I get back is:

用户'www-data'@'localhost'访问被拒绝(使用密码:NO)。

我希望它说访问拒绝为用户"sam",而不是www-data?在phpMyAdmin中,我有一个名为Sam的用户附加到数据库,我尝试过对全局和本地数据库给予完全权限,但没有快乐。有什么建议可以让它和我的证书相关联吗?

看起来您的"Connection.php"不包括在内。为了避免这种情况,检查文件的路径并使用"require"代替"include" (http://php.net/manual/en/function.require.php)。在这种情况下,"require"会给你抛出一个错误,你不会错过它们。

mysql_connect似乎被传递空的$server, $user_name$password

默认情况下,它通过默认的UNIX套接字连接到本地服务器,使用PHP解释器运行的凭据(在您的情况下是Apache凭据)。

很可能反映在web服务器日志("Undefined variable: server in…")和类似的。

请检查Connection.php是否存在并实际包含