IT지식

[php] die()

오선지♬ 2025. 2. 10. 20:03
728x90
반응형

die()는 PHP에서 사용되는 함수로, 실행 중인 스크립트를 종료하고, 원하는 메시지를 출력할 수 있는 함수입니다.

주요 특징

  1. 스크립트 종료
    die()를 호출하면 그 즉시 PHP 코드 실행이 중단됩니다.
  2. 에러 메시지 출력 가능
    die()에 전달된 문자열은 사용자에게 출력됩니다.
  3. exit()와 동일
    die()는 exit() 함수와 동일한 동작을 합니다. 사실상 die()는 exit() 함수의 별칭(alias)입니다.

기본 사용 예제

if (!isset($_GET['postIdx'])) {
    die("postIdx 값이 없습니다.");
}

위 코드는 $_GET에 postIdx 값이 없을 경우 메시지를 출력한 뒤, 실행을 중단합니다.

 

 

실사용 사례

1. 에러 핸들링

$conn = mysqli_connect("localhost", "user", "password", "database");

if (!$conn) {
    die("데이터베이스에 연결할 수 없습니다: " . mysqli_connect_error());
}

데이터베이스 연결에 실패했을 경우, 에러 메시지를 출력하고 스크립트를 중단합니다.

2. 디버깅

$response = apiCall();
if (empty($response)) {
    die("API 호출 결과가 비어 있습니다.");
}

API 응답이 비어 있을 때, 문제를 파악하기 위해 디버깅 목적으로 die()를 사용합니다.


실제 출력 결과

die("Error occurred.");

위 코드를 실행하면 페이지에 다음과 같은 메시지가 출력되고 PHP 스크립트가 종료됩니다:

Error occurred.

 

주의점

  1. 실제 서비스에서는 사용을 자제
    die()는 사용자에게 그대로 에러 메시지를 출력하기 때문에, 보안상 민감한 정보를 노출할 수 있습니다.
    예: 데이터베이스 에러 메시지에 비밀번호나 SQL 쿼리가 포함될 수 있음.
  2. 에러 로그로 대체 가능
    실제 서비스에서는 die() 대신 error_log() 함수와 예외 처리를 사용하는 것이 좋습니다.

개선된 대안

if (!isset($_GET['postIdx'])) {
    error_log("postIdx 값이 없습니다.");
    http_response_code(400); // 400 Bad Request
    exit;
}

요약

  • die()는 간단한 디버깅과 에러 처리를 위해 유용하지만, 실제 서비스 코드에서는 예외 처리나 에러 로그 기록 방식을 사용하는 것이 더 권장됩니다.
728x90
반응형

'IT지식' 카테고리의 다른 글

[php] echo  (0) 2025.02.09
[php] isset  (0) 2025.02.08
[php] index.php  (0) 2025.02.07
sitemap.xml 파일 위치  (0) 2025.02.05
sitemap.xml  (0) 2025.02.04