我有一个简单的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";
?>
我回来的错误是:
用户'www-data'@'localhost'拒绝访问(使用密码:NO)。
我原以为它会说用户“sam”拒绝访问,而不是www-data? 在phpMyAdmin中,我有一个名为Sam的用户附加到数据库,我尝试给它全局和本地数据库的完全权限,但没有乐趣。任何提示,建议让它与我的凭据连接?
答案 0 :(得分:2)
看起来你的“Connection.php”不包括在内。为避免这种情况,请检查文件路径并使用“require”代替“include”(http://php.net/manual/en/function.require.php)。在这种情况下,“require”会引发错误,你不会错过它们。
答案 1 :(得分:1)
mysql_connect
似乎是空的$server
,$user_name
和$password
。
默认情况下,它使用PHP解释器运行的凭据(在您的情况下是Apache凭据)通过默认UNIX套接字连接到本地服务器。
很可能它反映在Web服务器日志中(“Undefined variable:server in ...”)和类似内容。
请检查Connection.php
是否存在且实际包含在内。