브라우저에 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를 통해 루트 사용자를 사용할 수 없습니다." 루트가 아닌 다른 사용자를 사용하면 실제로 예상대로 MySQL 데이터베이스에 연결할 수 있습니다. .
답변2
문제는 SELinux에 있어야 합니다. 다음 부울을 활성화하십시오.
setsebool -P httpd_can_network_connect_db=1