对于我的一生,我无法使这件事起作用。
我正在运行一个apache服务器,但是我的本地站点存储在/ www / Matthew / wwwroot /中,并且使用http://Matthew.dev在浏览器中访问它们。

MySQL在名为“ Matthew.dev”的服务器上运行,用户名为“ sec_user”且主机为“ Matthew.dev”。

但是,当我尝试使用这些凭据连接到数据库时,我的错误提示本地主机正在从某个地方发挥作用,而我不知道为什么。

这是我的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.php上对用户'sec_user'@'localhost'(使用密码:是)的访问被拒绝4号线
无法连接到MySQL:(1045)用户'sec_user'@'localhost'的访问被拒绝(使用密码:是)
警告:main():在第9行的/www/sites/Matthew/wwwroot/LetsMakePi/includes/db_connect.php中无法获取mysqli

提前致谢。

最佳答案

它正在尝试连接到本地主机。

(编辑:更重要的是,也许它正在尝试从本地主机连接。)

域名Matthew.dev在该主机上解析为什么? (我已经看到很多/ etc / hosts,其中本地计算机的fqdn与127.0.0.1(又名localhost)相关联。)

因此,为什么不使用localhost?是同一台机器,不是吗?只需为sec_user@localhost分配与[email protected]相同的特权。

关于php - 拒绝访问“sec_user” @“localhost”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29078208/

10-09 18:15