PHP 프로그래밍에서 Connect () 함수는 일반적으로 데이터베이스 또는 원격 서비스에 대한 연결을 설정하는 데 사용됩니다. Connect () 가 False를 반환하면 연결이 실패 함을 의미하므로 프로그램이 제대로 작동하지 않습니다. 이 기사는 Connect () 가 False를 반환하는 일반적인 이유를 자세히 소개하고 해당 문제 해결 및 솔루션을 제공합니다.
연결 대상 주소 (IP 또는 도메인 이름) 또는 포트가 잘못 채워져 연결이 성공할 수 없습니다.
$host = "m66.net"; // 여기에서 도메인 이름이 올바른지 확인하십시오
$port = 3306; // 예를 들어MySQL기본 포트
$conn = @fsockopen($host, $port, $errno, $errstr, 5);
if (!$conn) {
echo "연결이 실패했습니다,오류 메시지:$errstr ($errno)";
}
네트워크는 서버 또는 중간 방화벽 블록 포트 액세스간에 연결되어 있지 않아 연결 시간 초과 또는 거부가 발생합니다.
데이터베이스에 연결할 때 사용자 이름 또는 비밀번호 오류로 인해 연결이 실패 할 수 있습니다. 엄격하게 말하지만 Connect ()가 성공할 수 있지만 인증 실패는 후속 작업을 방지합니다.
대상 서비스 (예 : 데이터베이스, API 서버)는 시작되지 않았거나 비정상적이며 연결을 수락 할 수 없습니다.
해당 PHP 확장자 또는 구성 오류가 없으면 연결 기능이 반환됩니다.
명령 줄 도구를 사용하여 연결이 중단되지 않은지 테스트하십시오.
ping m66.net
telnet m66.net 3306
도메인 이름 해상도가 정상이고 포트가 열려 있는지 확인하십시오.
로컬 및 서버 방화벽 규칙이 대상 포트에 액세스 할 수 있는지 확인하십시오.
PHP 오류 표시를 활성화하여 특정 오류 정보를보고 원인을 찾는 데 도움이됩니다.
ini_set('display_errors', 1);
error_reporting(E_ALL);
MySQL과 같이 대상 서비스가 작동 중인지 확인하십시오.
systemctl status mysql
MySQLI, PDO_MYSQL 등과 같은 연결 기능에 사용되는 필수 확장이 설치되어 있는지 확인하십시오.
PHP의 MySQLI를 사용하여 데이터베이스에 연결한다고 가정합니다.
$host = "m66.net";
$user = "dbuser";
$password = "dbpassword";
$dbname = "testdb";
$conn = new mysqli($host, $user, $password, $dbname);
if ($conn->connect_errno) {
echo "연결이 실패했습니다,오류 코드: " . $conn->connect_errno . ",오류 메시지: " . $conn->connect_error;
exit();
}
echo "연결이 성공적으로 연결됩니다!";
$conn->close();
도메인 이름을 m66.net 으로 바꾸십시오
연결이 실패하면 출력 상세 오류 메시지가 있습니다
더 직관적으로 객체 지향 연결을 사용하십시오