Por que não consigo me conectar ao mysql através do navegador, mas através do terminal com php?

1

Eu gostaria de exibir uma tabela MySQL no navegador com PHP e criei o arquivo 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>

Quando executo o arquivo no terminal com php -f demo-db.php , recebo a seguinte saída:

<!DOCTYPE html>
<html>
<body>

everything fine
</body>
</html>

Infelizmente, quando navego para http://localhost//demo-db.php , recebo o seguinte erro de acesso negado:

Connection failed: Access denied for user 'fabian'@'localhost'

Eu tentei pesquisar na Web por ajuda, mas sem sucesso. Alguém gentilmente tem alguma ideia do que devo fazer? O arquivo phpinfo.php da minha máquina pode ser visto aqui .

    
por fabian 26.06.2018 / 18:32

2 respostas

1

Depois de algum tempo, consegui encontrar uma solução para a pergunta:

Um comentário em uma pergunta sobre stackoverflow sobre acessar um banco de dados MariaDB com PHP através de um navegador estados '' versões mais recentes do MariaDB / MySQL não permitem que você use o usuário root via PHP. '' Ao usar um usuário diferente do root eu realmente pode se conectar ao MySQL banco de dados como pretendido.

    
por 27.06.2018 / 12:48
0

O problema deve ser com o SELinux, ative o seguinte booleano.

setsebool -P httpd_can_network_connect_db=1

    
por 26.06.2018 / 21:13