我想用 PHP 在浏览器中显示 MySQL 表并创建文件demo-db.php
<!DOCTYPE html>
<html>
<body>
<?php
$servername = "localhost";
$username = "fabian";
$password = "XXX";
$dbname = "music";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
else echo "everything fine";
mysqli_close($conn);
?>
</body>
</html>
当我在终端中运行该文件时,php -f demo-db.php
我收到以下输出:
<!DOCTYPE html>
<html>
<body>
everything fine
</body>
</html>
不幸的是,当我导航到时,http://localhost//demo-db.php
我收到以下访问被拒绝错误:
Connection failed: Access denied for user 'fabian'@'localhost'
我尝试在网上搜索帮助,但没有成功。我的机器的phpinfo.php文件可以看到这里。
答案1
一段时间后,我设法找到了解决该问题的方法:
评论中一个计算器问题关于通过浏览器使用 PHP 访问 MariaDB 数据库指出“较新版本的 MariaDB / MySQL 不允许您通过 PHP 使用 root 用户。”当使用与 root 不同的用户时,我确实可以连接到 MySQL 数据库如预期。
答案2
问题一定出在 SELinux 上,启用以下布尔值。
setsebool -P httpd_can_network_connect_db=1