>  기사  >  백엔드 개발  >  PHP에서 오류 메시지를 얻는 방법

PHP에서 오류 메시지를 얻는 방법

PHPz
PHPz원래의
2023-04-04 09:12:08445검색

PHP는 배우기 쉽고 유연성이 뛰어나 널리 사용되는 서버 측 스크립팅 언어입니다. 그러나 모든 프로그래밍 언어와 마찬가지로 PHP에도 구문 오류 및 논리 오류와 같은 단점과 오류가 있습니다. 개발 및 디버깅 프로세스 중에는 이러한 오류 메시지를 적시에 얻고 해결하는 것이 중요합니다. 이 기사에서는 PHP에서 오류 정보를 얻는 방법을 소개합니다.

1. PHP 오류 메시지 켜기

PHP에서는 기본적으로 오류 메시지가 출력되지 않습니다. 오류 메시지 출력을 활성화하려면 php.ini 파일을 구성해야 합니다. php.ini 파일을 열고 다음 두 가지 주요 줄을 찾을 수 있습니다.

display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

display_errors = Offdisplay_errors = On으로 변경한 다음 error_reporting 행이 다음으로 변경되었습니다. <code>display_errors = Off改为display_errors = On,然后将error_reporting行更改为:

error_reporting = E_ALL

这将启用所有错误报告,包括所有错误级别。在开启错误信息后,PHP脚本中的每个错误都将在网页上输出,包括警告、提示信息以及致命错误。

二、获取最近的PHP错误信息

在PHP脚本中,可以使用PHP自带的error_get_last()函数来获取最近发生的错误信息。该函数返回的是一个数组,包含错误的信息类型、消息和文件路径等。

下面是一个例子:

<?php
echo $test;
print_r(error_get_last());
?>

在上面的代码中,$test变量没有被定义,因此,这将导致一个致命错误。这个错误信息将作为最后一个错误被存储,然后通过error_get_last()函数进行检索,输出结果如下所示:

Array
(
    [type] => 8
    [message] => Undefined variable: test
    [file] => /var/www/html/test.php
    [line] => 2
)

三、注册错误处理程序

除了使用error_get_last()函数之外,还可以通过注册错误处理程序来获取错误信息。PHP提供了一个set_error_handler()函数,用于自定义PHP发生错误时的行为。该函数需要接收一个函数名称作为其参数,该函数可以被用来处理捕捉到的错误。

下面是一个例子:

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
    echo "Error: [$errno] $errstr - $errfile:$errline";
}

set_error_handler("error_handler");

echo $test;
?>

在上面的代码中,我们定义了一个名为error_handler()的函数来处理错误。然后将该函数名称传递给set_error_handler()函数进行注册。当变量$test

Error: [8] Undefined variable: test - /var/www/html/test.php:7
이렇게 하면 모든 오류 수준을 포함한 모든 오류 보고가 활성화됩니다. 오류 정보를 켜면 경고, 프롬프트 및 치명적인 오류를 포함하여 PHP 스크립트의 모든 오류가 웹 페이지에 출력됩니다.

2. 최신 PHP 오류 메시지 가져오기

PHP 스크립트에서 PHP 고유의 error_get_last() 함수를 사용하여 최신 오류 메시지를 가져올 수 있습니다. 이 함수는 오류 정보 유형, 메시지, 파일 경로 등이 포함된 배열을 반환합니다. 🎜🎜예는 다음과 같습니다. 🎜rrreee🎜위 코드에서는 $test 변수가 정의되어 있지 않으므로 치명적인 오류가 발생합니다. 이 오류 메시지는 마지막 오류로 저장되었다가 error_get_last() 함수를 통해 검색됩니다. 출력 결과는 다음과 같습니다. 🎜rrreee🎜 3. 오류 핸들러를 등록합니다. 🎜🎜 를 사용하는 것 외에도 >error_get_last () 함수를 사용하면 오류 핸들러를 등록하여 오류 정보를 얻을 수도 있습니다. PHP는 오류 발생 시 PHP 동작을 사용자 정의하기 위한 set_error_handler() 함수를 제공합니다. 이 함수는 발견된 오류를 처리하는 데 사용할 수 있는 함수 이름을 매개변수로 받아야 합니다. 🎜🎜예는 다음과 같습니다. 🎜rrreee🎜위 코드에서는 오류를 처리하기 위해 error_handler()라는 함수를 정의합니다. 그런 다음 등록을 위해 함수 이름을 set_error_handler() 함수에 전달합니다. $test 변수가 정의되지 않은 경우 치명적인 오류가 발생합니다. 오류 처리기는 오류를 포착하고 다음 결과를 출력합니다. 🎜rrreee🎜 4. 결론 🎜🎜PHP 스크립트를 개발하는 과정에서는 적시에 오류 정보를 얻고 처리하는 것이 중요합니다. PHP 오류 메시지 켜기부터 최신 PHP 오류 메시지 가져오기, 등록된 오류 처리기 사용에 이르기까지 다양한 방법을 사용하면 PHP 개발 시 오류를 더 잘 처리하고 디버깅하는 데 도움이 될 수 있습니다. 🎜

위 내용은 PHP에서 오류 메시지를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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