私はブラウザにMySQLテーブルを表示し、PHPを使用してファイルを生成したいと思います。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ユーザーを使用することはできません」ルート以外のユーザーを使用すると、実際に期待どおりにMySQLデータベースに接続できます。 。
答え2
問題はSELinuxにあるはずです。次のブール値を有効にします。
setsebool -P httpd_can_network_connect_db=1