현재 위치: > 최신 기사 목록> $ errno를 잡고 센트리 또는 기타 모니터링 도구에 오류를보고하는 방법

$ errno를 잡고 센트리 또는 기타 모니터링 도구에 오류를보고하는 방법

M66 2025-06-05

PHP 애플리케이션을 개발할 때 데이터베이스 오류는 특히 데이터베이스 작업에 MySQLI Extension을 사용할 때 이러한 오류를 효과적으로 포착하여 모니터링 플랫폼에보고하는 방법을 사용하면 개발자가 문제를 더 빨리 발견하고 해결하는 데 도움이 될 수 있습니다. 이 기사는 MySQLI :: $ errno를 사용하여 데이터베이스 오류를 캡처하고 오류 메시지를 센트리 또는 기타 모니터링 플랫폼에보고하여 시스템이 안정적이고 효율적으로 유지되는 방법을 소개합니다.

1. mysqli :: $ errno 란 무엇입니까?

mysqli :: $ errno는 mysqli 클래스에서 매우 중요한 속성입니다. 마지막 데이터베이스 작업의 오류 코드를 얻는 데 사용됩니다. 작업이 성공하면 Errno가 0을 반환하고 오류가 발생하면 해당 오류 코드가 반환됩니다. 이 속성을 통해 데이터베이스 작업이 성공했는지 쉽게 결정할 수 있습니다.

2. 기본 MySQLI 오류 캡처 방법

데이터베이스 작업을 수행 할 때는 일반적으로 오류 감지를 수행하여 예외를 즉시 감지하고 처리합니다. 간단한 예는 다음과 같습니다.

 <?php
$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    echo "연결이 실패했습니다: " . $mysqli->connect_error;
    exit();
}

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "SQL 오류 코드: " . $mysqli->errno . " 오류 메시지: " . $mysqli->error;
}
?>

위의 코드 예제는 쿼리를 만들 때 mysqli :: $ errno를 사용하여 오류 및 해당 오류 메시지를 출력하는 방법을 보여줍니다.

3. 오류를 보초에보고하십시오

Sentry는 개발자가 실시간으로 응용 프로그램의 오류를 잡고 처리 할 수 ​​있도록 널리 사용되는 오류 추적 및 모니터링 플랫폼입니다. 센트리에 오류 메시지를 보내려면 Sentry SDK가 먼저 필요합니다.

작곡가를 사용하여 Sentry PHP SDK를 설치하십시오.

 composer require sentry/sdk

그런 다음 센트리를 코드에 통합하여 오류를보고하면 코드는 다음과 같습니다.

 <?php
require 'vendor/autoload.php';

// 초기화 Sentry
Sentry\init(['dsn' => 'https://your_sentry_dsn_url@m66.net']);

$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    echo "연결이 실패했습니다: " . $mysqli->connect_error;
    exit();
}

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // 데이터베이스 오류를 잡습니다,그리고 그것을보고하십시오 Sentry
    Sentry\captureException(new Exception("SQL 오류 코드: " . $mysqli->errno . " 오류 메시지: " . $mysqli->error));
    echo "오류가 발생했습니다,모니터링 플랫폼에보고되었습니다。";
}
?>

위의 코드에서 MySQLI가 쿼리를 실행하면 오류가 발생하면 오류 메시지가 센트리 \ CaptureException () 메소드를 통해 모니터링하기 위해 센트리 플랫폼에보고됩니다.

4. 다른 모니터링 플랫폼을 사용하십시오

센트리 외에도 다른 모니터링 플랫폼에 오류 메시지를 보낼 수도 있습니다. 다른 플랫폼을 사용하는 기본 통합 방법은 다음과 같습니다.

a) bugsnag를 사용하십시오

Bugsnag는 또 다른 인기있는 오류 모니터링 도구입니다. 다음과 같은 방법으로 Bugsnag에 오류를 보낼 수 있습니다.

 require 'vendor/autoload.php';

// 초기화 Bugsnag
Bugsnag::start('your_bugsnag_api_key');

$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    echo "연결이 실패했습니다: " . $mysqli->connect_error;
    exit();
}

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // 데이터베이스 오류를 잡습니다,그리고 그것을보고하십시오 Bugsnag
    Bugsnag::notifyException(new Exception("SQL 오류 코드: " . $mysqli->errno . " 오류 메시지: " . $mysqli->error));
    echo "오류가 발생했습니다,보고 된 Bugsnag。";
}

b) Logrocket 사용

Logrocket은 프론트 엔드 및 백엔드 오류 추적을 지원하는 또 다른 도구입니다. PHP 백엔드가 Logrocket을 통합 해야하는 경우 API를 통해 오류 메시지를보고 할 수 있습니다.

 require 'vendor/autoload.php';

// LogRocket 통합 (가정 LogRocket PHP SDK 이미 존재합니다)
LogRocket::init('your_logrocket_project_id');

$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    echo "연결이 실패했습니다: " . $mysqli->connect_error;
    exit();
}

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // 데이터베이스 오류를 잡습니다,그리고 그것을보고하십시오 LogRocket
    LogRocket::captureError("SQL 오류 코드: " . $mysqli->errno . " 오류 메시지: " . $mysqli->error);
    echo "오류가 발생했습니다,보고 된 LogRocket。";
}

5. 완전한 예 : 센트리 및 오류 캐치의 통합

위의 내용을 기반으로 다음 전체 예제를 참조하십시오. mysqli :: $ errno를 사용하여 데이터베이스 오류를 포착하고 Sentry에보고하십시오.

 <?php
require 'vendor/autoload.php';

// 초기화 Sentry
Sentry\init(['dsn' => 'https://your_sentry_dsn_url@m66.net']);

$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    echo "연결이 실패했습니다: " . $mysqli->connect_error;
    exit();
}

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // 데이터베이스 오류를 잡습니다,그리고 그것을보고하십시오 Sentry
    Sentry\captureException(new Exception("SQL 오류 코드: " . $mysqli->errno . " 오류 메시지: " . $mysqli->error));
    echo "오류가 발생했습니다,보고 된 Sentry。";
}
?>

6. 요약

mysqli :: $ errno 속성을 사용하면 데이터베이스 작업에서 오류를 쉽게 캡처하여 Sentry, Bugsnag 또는 Logrocket과 같은 플랫폼을 모니터링 할 수 있습니다. 이렇게하면 잠재적 인 문제를 즉시 식별하고 시스템의 안정성과 유지 가능성을 향상시킬 수 있습니다.

이러한 모니터링 도구를 통합 할 때 프로젝트에 적합한 SDK를 선택하고 플랫폼 문서에 따라 그에 따라 그에 따라 구성하십시오.