현재 위치: > 최신 기사 목록> 연결 () 연결 고장에 대한 10 가지 이유와 솔루션을 연결하십시오

연결 () 연결 고장에 대한 10 가지 이유와 솔루션을 연결하십시오

M66 2025-05-31

PHP에서 Connect () 함수 (또는 MySQLI의 MySQLI_Connect () 와 같은 유사한 연결 함수)는 데이터베이스 연결을 구현하는 핵심 단계입니다. 연결 실패는 개발에서 일반적인 문제입니다. 특히 초보자에게는 문제 해결 문제가 까다로울 수 있습니다. 이 기사는 연결 실패의 상위 10 가지 일반적인 원인을 자세히 분석하고 해당 솔루션을 제공하여 문제를 더 빨리 찾는 데 도움이됩니다.


1. 데이터베이스 서버 주소가 올바르지 않습니다

이유 : Connect () 함수의 호스트 이름 (호스트)은 잘못된 IP 주소 또는 도메인 이름으로 작성됩니다.

해결책:
데이터베이스 서버 주소가 올바른지 확인하십시오. 예를 들어, 글을 쓰는 올바른 방법은 비슷해야합니다.

 $conn = mysqli_connect('m66.net', 'username', 'password', 'database');

데이터베이스가 로컬 컴퓨터에있는 경우 '127.0.0.1' 또는 'localhost'를 사용하는 것이 좋습니다.


2. 사용자 이름 또는 비밀번호가 올바르지 않습니다

원인 : 데이터베이스 계정 또는 비밀번호가 잘못 채워져 신원 확인 실패가 발생합니다.

해결책:

 $conn = mysqli_connect('m66.net', '올바른 사용자 이름', '올바른 비밀번호', '데이터베이스 이름');
if (!$conn) {
    die('연결이 실패했습니다,오류 메시지:' . mysqli_connect_error());
}

사용자 이름과 비밀번호가 정확하고 액세스 권한이 있는지 확인하십시오.


3. 데이터베이스 서비스가 시작되지 않았습니다

원인 : MySQL 또는 기타 데이터베이스 서비스가 실행되지 않아 연결을 설정할 수 없습니다.

해결책:
데이터베이스 서비스가 시작되었는지 확인하십시오. 명령 줄을 통해 실행할 수 있습니다.

 sudo service mysql status

또는 시스템의 서비스 관리 도구를 사용하여 서비스를 시작하십시오.


4. 방화벽 또는 보안 그룹 제한 포트

원인 : 방화벽은 데이터베이스 포트에 대한 액세스를 차단합니다 (기본 3306).

해결책:
서버 방화벽 설정을 확인하여 포트 3306 (또는 사용자 정의 포트)이 열려 있는지 확인하십시오. Linux에서 일반적으로 사용되는 명령 :

 sudo ufw allow 3306

클라우드 서버는 보안 그룹 규칙을 수정해야 할 수도 있습니다.


5. 잘못된 포트 번호가 사용되었습니다

원인 : 연결 중에 잘못된 포트 번호가 지정되었습니다.

해결책:
기본 포트는 3306입니다. 데이터베이스가 사용자 정의 포트를 사용하는 경우 명확하게 지정해야합니다.

 $conn = mysqli_connect('m66.net', 'username', 'password', 'database', 3307);

6. 데이터베이스 사용자 권한 제한

원인 : 사용자는 현재 호스트에서 데이터베이스에 액세스 할 수있는 권한이 없습니다.

해결책:
데이터베이스에 로그인하고 권한 부여 명령을 실행하십시오.

 GRANT ALL PRIVILEGES ON database.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

여기서 '%'는 모든 호스트에 액세스 할 수 있고 특정 IP도 지정할 수 있음을 의미합니다.


7. 구식 또는 호환되지 않는 PHP 확장을 사용했습니다

원인 : MySQLI 또는 PDO 확장은 PHP 환경에 설치되지 않았거나 버전이 호환되지 않습니다.

해결책:
PHP 환경이 관련 확장을 올바르게 설치했는지 확인하십시오.

 php -m | grep mysqli

설치되지 않은 경우 패키지 관리자를 사용하여 설치해야합니다.

 sudo apt-get install php-mysqli

8. 네트워크 문제는 연결 시간 초과를 유발합니다

원인 : 네트워크 지연 또는 불안정성, 연결 요청 시간이 초과되었습니다.

해결책:
데이터베이스 서버를 핑하고 네트워크가 원활한 지 확인하십시오.

 ping m66.net

네트워크 환경을 최적화하거나 필요한 경우 연결 시간 초과 설정을 추가하십시오.


9. DNS 해결 문제

원인 : 도메인 이름을 올바르게 해결할 수 없으므로 연결 고장이 발생합니다.

해결책:
대신 IP 주소에 연결하거나 기본 DNS 구성을 확인하십시오.

 $conn = mysqli_connect('192.168.1.100', 'username', 'password', 'database');

10. 데이터베이스 버전 또는 구성 제한

원인 : 서버의 데이터베이스 버전은 특정 연결 방법을 제한하거나 my.cnf 와 같은 구성 파일을 원격 연결을 제한합니다.

해결책:
데이터베이스 구성 파일을 확인하고 바인딩 주소를 확인하십시오.

 bind-address = 0.0.0.0

데이터베이스 서비스를 다시 시작한 후 모든 IP 연결이 허용되고 효과적임을 나타냅니다.