>데이터 베이스 >MySQL 튜토리얼 >PHP MySQL 연결에서 '연결 실패: SQLSTATE[HY000] [2002] 연결이 거부되었습니다.'를 수정하는 방법은 무엇입니까?

PHP MySQL 연결에서 '연결 실패: SQLSTATE[HY000] [2002] 연결이 거부되었습니다.'를 수정하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-11 09:41:11497검색

How to Fix

PHP로 "연결 실패: SQLSTATE[HY000] [2002] 연결이 거부됨" 문제 해결

phpMyAdmin에서 호스팅되는 MySQL 데이터베이스에 대한 PHP 연결을 설정하려고 할 때, 사용자는 "연결 실패: SQLSTATE[HY000] [2002] 연결이 거부되었습니다."라는 실망스러운 오류를 경험할 수 있습니다. 이 오류는 PHP 스크립트가 데이터베이스 서버에 연결할 수 없음을 나타냅니다.

예를 들어 다음 PHP 코드를 고려해 보세요.

$servername = "127.0.0.1";
$username = "root";
$password = "root";

try {
    $conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}

이 코드는 PDO를 사용하여 MySQL 데이터베이스에 연결을 시도합니다. (PHP 데이터 개체) 개체입니다. 하지만 Postman을 통해 연결을 사용하는 경우 "연결 실패: SQLSTATE[HY000] [2002] 연결이 거부되었습니다." 오류가 발생합니다.

처음에는 "연결 실패: SQLSTATE[HY000] [2002] 오류가 발생할 수 있습니다. ] 해당 파일이나 디렉터리가 없습니다." 이는 서버 이름이 "localhost"로 설정된 경우 발생합니다. 서버 이름을 IP 주소로 변경하면 이 문제가 해결되지만 "연결 거부됨" 오류가 발생합니다.

이 연결 거부에 대한 해결책은 사용 중인 포트 번호에 있습니다. MySQL의 기본 포트는 3306입니다. 그러나 MAMP를 통한 연결의 경우 포트를 8889로 설정해야 합니다.

다음과 같이 코드를 조정하면 연결 문제가 해결됩니다.

$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password); 

이렇게 수정하면 PHP 스크립트는 포트 8889를 사용하여 MySQL 데이터베이스에 성공적으로 연결됩니다.

위 내용은 PHP MySQL 연결에서 '연결 실패: SQLSTATE[HY000] [2002] 연결이 거부되었습니다.'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.