mysqli :: dump_debug_info는 php의 mysqli 확장자가 제공하는 방법입니다. 이 방법은 연결 관련 오류, 경고 및 기타 유용한 디버깅 정보를 포함하여 MySQL 연결에 대한 디버깅 정보를 얻는 데 사용됩니다. 이 방법을 통해 개발자는 MySQL과 연결하는 동안 세부 정보를 쉽게 얻을 수있어 문제의 근본 원인을 신속하게 식별 할 수 있습니다.
이 방법을 호출하는 것은 데이터베이스 작업에 영향을 미치지 않으며, 일반적으로 개발 및 디버깅 단계에 사용되는 유용한 디버깅 도구를 제공합니다.
mysqli :: dump_debug_info를 사용하려면 먼저 mysqli 연결 객체를 만들어야합니다. 다음으로, 디버깅 정보는 dump_debug_info 메소드를 호출하여 얻습니다. 기본 사용 예는 다음과 같습니다.
<?php
// 만들다 MySQLi 연결하다
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// 检查연결하다是否成功
if ($mysqli->connect_error) {
die("연결하다失败: " . $mysqli->connect_error);
}
// 부르다 dump_debug_info 디버깅 정보를 얻는 방법
echo "<pre>";
echo $mysqli->dump_debug_info();
echo "</pre>";
// 关闭연결하다
$mysqli->close();
?>
이 예에서는 먼저 새로운 MySQLI를 통해 MySQLI 연결 객체를 작성한 다음 Connect_Error를 사용하여 연결 문제가 있는지 확인합니다. 문제가없는 경우 DUMP_DEBUG_INFO를 호출하여 디버그 정보를 출력하십시오. 출력 정보는 MySQL 연결 중에 발생하는 문제를 찾는 데 도움이 될 수 있습니다.
mysqli :: dump_debug_info 의 출력 내용에는 다음 부분이 포함됩니다.
MySQL 서버 버전 : 현재 연결된 MySQL 서버의 버전을 표시합니다.
연결 정보 : 연결 시간, 연결된 클라이언트 및 서버 정보 등을 포함하여 MySQL 서버 연결과 관련된 정보를 표시합니다.
오류 메시지 : 연결에 실패하거나 다른 문제가 있으면 오류 메시지가 여기에 표시됩니다. 이것은 MySQL 연결 문제를 찾는 데 매우 유용합니다.
경고 메시지 : 오류 메시지 외에도 개발자가 잠재적 인 데이터베이스 문제를 식별 할 수 있도록 경고도 표시됩니다.
예를 들어, 출력 정보는 다음과 유사 할 수 있습니다.
# Server: MySQL 8.0.22
# Connection ID: 123456
# Connect Time: 2025-06-07 10:30:15
# Client: mysql_native_password
# Last Error: 1045 Access Denied for user 'username'@'localhost' (using password: YES)
# Warnings: None
이 정보를 통해 연결의 MySQL 버전, 연결 시간, 연결 유형 및 가장 중요한 오류 정보를 볼 수 있습니다. 예를 들어, 인증 문제가 발생하면 마지막 오류가 Access Denied 와 유사한 오류 메시지를 표시하므로 사용자 이름 또는 비밀번호 오류인지 권한 문제인지 확인하는 데 도움이됩니다.
mysqli :: dump_debug_info를 통해 디버깅 정보를 얻을 때 일반적 으로이 정보를 기반으로 다음 전략을 채택하여 문제를 해결할 수 있습니다.
데이터베이스 연결이 다음을 포함하여 올바르게 구성되어 있는지 확인하십시오.
호스트 이름 : MySQL 서버의 호스트 이름 또는 IP 주소가 올바르게 지정되었는지 여부.
사용자 이름 및 비밀번호 : 데이터베이스의 사용자 이름과 비밀번호가 올바른지, 특히 사례 및 공간 문제인지 확인하십시오.
데이터베이스 이름 : 올바른 데이터베이스 이름이 지정되어 있는지 확인합니다.
액세스 거부 오류가 발생하면 일반적으로 사용자에게 충분한 권한이 없기 때문입니다. 다음 명령을 사용하여 MySQL에서 사용자를 승인 할 수 있습니다.
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
이 명령은 지정된 사용자에게 지정된 데이터베이스에 모든 권한을 부여합니다.
DUMP_DEBUG_INFO 출력 메시지가 연결 시간이 설정되었거나 서버를 사용할 수 없음을 보여 주면 MySQL 서버가 시작되지 않았거나 방화벽 또는 네트워크 문제가 있기 때문일 수 있습니다. 명령 줄 도구를 통해 MySQL 서버에 직접 연결하여 정상적으로 연결할 수 있는지 확인할 수 있습니다.
DUMP_DEBUG_INFO 에 알려지지 않은 오류 또는 경고가 표시되면 자세한 내용은 MySQL 오류 로그를 볼 수 있습니다. 이것은 종종 개발자가보다 복잡한 구성 문제를 식별하는 데 도움이 될 수 있습니다.
mysqli :: dump_debug_info는 개발자가 MySQL 연결과 관련된 문제를 신속하게 찾아서 해결하는 데 도움이되는 강력한 디버깅 도구입니다. 이 방법을 호출함으로써 개발자는 자세한 연결 디버깅 정보를 얻어 MySQL 연결 문제를보다 효율적으로 해결할 수 있습니다. 개발 과정에서 연결 오류가 발생할 때이 도구를 시간에 사용하면 디버깅 시간을 크게 줄이고 작업 효율성을 향상시킬 수 있습니다.