对于我的生活,我无法让这件事工作。 我正在运行一个apache服务器,但我的本地站点存储在 / www / Matthew / wwwroot / 中,我使用http://Matthew.dev在浏览器中访问它们。
MySQL正在名为“Matthew.dev”的服务器上运行,其用户名为“sec_user”,主机为“Matthew.dev”。
但是,当我尝试使用这些凭据连接到我的数据库时,我的错误表明localhost正在从某个地方发挥作用,我不知道为什么。
这是我的psl-config.php:
<?php
define("HOST", "Matthew.dev");
define("USER", "sec_user");
define("PASSWORD", "vmWmtRhaYbGAw6US");
define("DATABASE", "lets_make_pi");
define("CAN_REGESTER", "any");
define("DEFAULT_ROLE", "member");
define("SECURE", FALSE);
?>
这是我的db_connect.php:
<?php
include_once 'psl-config.php';
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
if ($mysqli->connect_errno)
{
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "\n";
?>
错误:
警告:mysqli :: mysqli():( HY000 / 1045):/ www / sites / Matthew / wwwroot / LetsMakePi / includes / db_connect中的用户'sec_user'@'localhost'(使用密码:YES)拒绝访问.php在第4行 无法连接到MySQL:(1045)用户'sec_user'@'localhost'拒绝访问(使用密码:YES) 警告:main():无法在第9行的/www/sites/Matthew/wwwroot/LetsMakePi/includes/db_connect.php中获取mysqli
提前致谢。
答案 0 :(得分:1)
它正在尝试连接到localhost。
(编辑:更重要的是,它可能正在尝试从 localhost连接。)
Matthew.dev域名在该主机上解析了什么? (我见过很多/ etc / hosts本地机器的fqdn与127.0.0.1(又名localhost)相关联。)
就此而言,为什么不使用localhost?这是同一台机器,不是吗?只需为sec_user@localhost
分配与sec_user@Matthew.dev
相同的权限。