>  기사  >  백엔드 개발  >  PHP 코드 실행 중 오류 출력 정보 가져오기

PHP 코드 실행 중 오류 출력 정보 가져오기

WBOY
WBOY원래의
2023-05-11 08:14:13778검색

PHP는 널리 사용되는 오픈 소스 프로그래밍 언어입니다. 그러나 개발 과정에서 다양한 오류가 발생할 수 있습니다. 이러한 오류를 신속하게 찾아 해결하려면 PHP 코드 실행 중에 오류 출력 정보를 얻어야 합니다. 이 기사에서는 PHP 코드 실행 중에 오류 출력 정보를 얻는 방법을 소개합니다.

1. error_reporting 함수 사용

PHP는 PHP 코드의 오류 보고 수준을 설정하는 데 사용할 수 있는 error_reporting 함수를 제공합니다. 코드 개발 및 디버깅에서 error_reporting을 E_ALL로 설정하여 적시에 코드의 모든 오류 정보를 캡처할 수 있습니다.

error_reporting(E_ALL);

error_reporting을 설정한 후 코드에 try...catch...를 추가하면 PHP 코드 실행 중 오류 정보를 얻을 수 있습니다.

try{
    // your code here
}catch(Exception $e){
    echo $e->getMessage();
}

catch 문을 통해 코드 실행 중 발생하는 오류를 캡쳐할 수 있으며, 오류 정보는 echo 문을 통해 출력되므로 프로그래머가 찾아서 복구할 수 있습니다. 프로덕션 환경에서는 정보 유출을 방지하기 위해 오류 보고 출력을 꺼야 합니다.

2. set_error_handler 함수를 사용하세요

try...catch...를 사용하는 것 외에도 set_error_handler 함수를 사용하여 PHP 코드 실행 중 오류 정보를 얻을 수도 있습니다. set_error_handler 함수는 사용자 정의 오류 핸들러를 등록하는 데 사용됩니다. PHP 코드가 오류를 생성하면 오류를 처리하기 위해 사용자 정의 오류 핸들러가 호출됩니다. 다음과 같습니다:

function customError($errno, $errstr){
    echo "<b>Error:</b> [$errno] $errstr<br>";
}

set_error_handler("customError");

위의 예에서 PHP 코드에 오류가 발생하면 사용자 정의 오류 핸들러 customError가 호출되어 오류 메시지를 출력합니다. 사용자 정의 오류 처리기는 각각 오류 유형과 오류 메시지를 나타내는 두 개의 매개 변수 $errno 및 $errstr을 허용해야 합니다. 사용자 정의 오류 핸들러는 일반적으로 별도의 PHP 파일에 작성되어야 하며 PHP 코드가 실행되기 전에 코드에 포함되어야 합니다.

set_error_handler 함수는 PHP에서 생성된 오류만 캡처할 수 있고, PHP가 실행될 때 생성된 경고 및 알림은 캡처할 수 없다는 점에 유의해야 합니다. 경고 및 알림 정보를 캡처해야 하는 경우 보고할 수 있는 오류 유형을 지정하는 set_error_handler 함수의 세 번째 매개변수를 사용할 수 있습니다.

3. log_errors 및 error_log 함수 사용

위 방법을 사용하는 것 외에도 PHP의 log_errors 및 error_log 함수를 통해 오류 정보를 캡처할 수도 있습니다. log_errors 함수는 PHP 로그 파일에 오류 정보를 기록할지 여부를 설정한 후, error_log 함수를 통해 로그 파일에 오류 정보를 기록하는 데 사용됩니다.

ini_set('log_errors', 'On');
ini_set('error_log', '/path/to/log/file.log');

// your code here

error_log($error_message);

위의 예에서는 ini_set 함수를 통해 log_errors를 On으로 설정했는데, 이는 생성된 오류 정보가 PHP 로그 파일에 기록된다는 의미입니다. ini_set 함수를 통해 로그 파일 경로로 error_log를 지정한다는 것은 경로에 지정된 로그 파일에 오류 정보를 저장한다는 의미입니다. 코드에서 error_log 함수를 통해 $error_message 매개변수를 전달하여 지정된 로그 파일에 오류 정보를 기록합니다.

프로덕션 환경에서는 다른 사람이 로그 파일의 내용을 수정하는 것을 방지하기 위해 로그 파일을 읽기 전용 권한으로 설정해야 합니다. 동시에 문제가 발생할 경우 문제 해결 및 분석을 용이하게 하기 위해 로그 파일을 충분한 기간 동안 보관해야 합니다.

결론

위의 세 가지 방법은 프로그래머가 PHP 코드의 오류 출력 정보를 얻는 데 도움이 될 수 있습니다. 프로그래머는 PHP 코드 실행 중에 오류 정보를 얻음으로써 문제를 더 빠르게 찾아 해결할 수 있으며 PHP 애플리케이션의 안정성과 보안을 보장할 수 있습니다. 프로덕션 환경에서는 민감한 정보가 유출되지 않도록 오류 출력 정보 표시를 제한해야 합니다. 동시에, 해커의 오류 출력 정보 공격을 방지하기 위해 오류 출력 정보에 대한 보안도 보장되어야 합니다.

위 내용은 PHP 코드 실행 중 오류 출력 정보 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.