>  기사  >  백엔드 개발  >  PHP에서 오류 정보를 표시하는 방법(방법에 대한 간략한 분석)

PHP에서 오류 정보를 표시하는 방법(방법에 대한 간략한 분석)

PHPz
PHPz원래의
2023-04-11 10:43:543088검색

PHP는 동적 서버측 프로그래밍 언어이며 많은 웹사이트가 이를 사용하여 작성되었습니다. PHP 코드에 오류가 발생하면 때때로 이상한 오류 메시지가 표시되지만 이러한 메시지는 명확하지 않습니다. 다행스럽게도 PHP는 보다 자세한 오류 정보를 표시하는 데 도움이 되는 몇 가지 설정을 제공합니다. 이 기사에서는 PHP 오류 정보를 표시하는 방법을 소개합니다.

기본 단계

PHP 오류 메시지를 표시하려면 두 가지 기본 단계가 필요합니다.

1. 코드에 오류 메시지 출력 설정

일부 PHP 내장 함수를 사용하여 오류 메시지를 출력할 수 있습니다. 다른 언어와 마찬가지로 PHP의 echo()print() 문을 사용하여 일부 텍스트 메시지를 출력할 수 있습니다. 그러나 PHP 오류 메시지를 출력할 수는 없습니다. 따라서 PHP에서 제공하는 error_reporting() 함수를 사용해야 합니다. echo()print() 语句可以被用来输出一些文本消息。但是,它们无法输出 PHP 报错信息。所以,我们需要使用 PHP 提供的 error_reporting() 函数。

PHP 提供了一个叫作 error_reporting() 的函数,可以用来控制 PHP 报错信息的输出级别。error_reporting() 函数能够返回当前报错信息输出级别,并且可以用一个整数参数来设置您需要的输出级别。

接下来我们看一个示例代码:

<?php
error_reporting(E_ALL); // 设置输出所有的错误信息  
?>

在这个示例中,我们使用了 error_reporting() 函数来设置输出所有错误信息。请注意,在 PHP 中,E_ALL 是一个预定义常量,它包含了所有错误类型的标志位(1)。当我们使用 E_ALL 这个常量时,我们告诉 PHP 输出所有错误信息。

还可以使用 error_reporting() 函数来输出 PHP 报错信息的更精准的级别。例如,E_ERROR (1) 、E_WARNING (2)、E_PARSE (4)、E_NOTICE (8)、E_CORE_ERROR (16)、E_CORE_WARNING (32)、E_COMPILE_ERROR (64)、E_COMPILE_WARNING (128)、E_USER_ERROR (256)、E_USER_WARNING (512) 或 E_USER_NOTICE (1024) 。

2. 在 PHP 配置文件中打开显示报错信息

在设置输出报错信息级别之后,我们还需要打开相应配置文件中的一个选项,才能使得错误信息显示在浏览器上。

在 PHP 配置文件中,有一个叫作 display_errors 的选项,可以控制是否在浏览器里显示 PHP 报错信息。这个选项的默认值是 Off,也就是不会在浏览器中输出错误信息。

我们可以通过修改 php.ini 文件来改变这个选项的值。如果您正在使用的是共享主机,那么您无法修改此文件。

在 php.ini 文件或者 .htaccess 文件中,添加以下代码可以打开 display_errors,使得 PHP 报错信息可以在浏览器中直接显示出来。

display_errors = on

在 php.ini 打开 display_errors 配置项后,您可以访问错误发生的页面,看到详细了错误信息。但是,对于灾难性发生的错误,您的网站可能会有致命的后果。所以,我们建议您打印出来错误信息并妥善处理。

在 PHP 中,我们可以使用以下函数输出错误信息:

  • var_dump() - 打印变量,包括类型、字符串长度和值。
  • print_r() - 打印关于变量的易于理解的信息。
  • die()exit()- 停止脚本的执行并输出一条消息。

案例分析

假设您的网站是使用 PHP 开发的,其中有一个页面index.php

PHP는 PHP 오류 정보의 출력 수준을 제어하는 ​​데 사용할 수 있는 error_reporting()이라는 함수를 제공합니다. error_reporting() 함수는 현재 오류 메시지 출력 수준을 반환할 수 있으며 정수 매개변수를 사용하여 필요한 출력 수준을 설정할 수 있습니다.

다음으로 샘플 코드를 살펴보겠습니다.

<?php
ini_set(&#39;display_errors&#39;, &#39;On&#39;);
error_reporting(E_ALL);
?>
이 예에서는 error_reporting() 함수를 사용하여 모든 오류 메시지가 출력되도록 설정합니다. PHP에서 E_ALL은 모든 오류 유형에 대한 플래그 비트(1)를 포함하는 미리 정의된 상수입니다. E_ALL 상수를 사용하면 PHP에 모든 오류 메시지를 인쇄하도록 지시합니다.

error_reporting() 함수를 사용하여 보다 정확한 수준의 PHP 오류 정보를 출력할 수도 있습니다. 예를 들어 E_ERROR(1), E_WARNING(2), E_PARSE(4), E_NOTICE(8), E_CORE_ERROR(16), E_CORE_WARNING(32), E_COMPILE_ERROR(64), E_COMPILE_WARNING(128), E_USER_ERROR(256), E_USER_WARNING( 512) 또는 E_USER_NOTICE(1024).

2. PHP 구성 파일에서 오류 메시지 표시를 켜세요

출력 오류 메시지 수준을 설정한 후 해당 구성 파일에서 옵션을 열어서 오류 메시지가 브라우저에 표시되도록 해야 합니다.

PHP 구성 파일에는 브라우저에 PHP 오류 메시지를 표시할지 여부를 제어할 수 있는 display_errors라는 옵션이 있습니다. 이 옵션의 기본값은 Off입니다. 이는 브라우저에 오류 메시지가 출력되지 않음을 의미합니다.

php.ini 파일을 수정하여 이 옵션의 값을 변경할 수 있습니다. 공유 호스팅을 사용하는 경우 이 파일을 수정할 수 없습니다. 🎜🎜php.ini 파일이나 .htaccess 파일에 다음 코드를 추가하여 display_errors를 켜면 PHP 오류 메시지가 브라우저에 직접 표시될 수 있습니다. 🎜
Fatal error: Call to undefined function test() in /path/to/your/file.php on line 2
🎜php.ini에서 display_errors 구성 항목을 연 후 오류가 발생한 페이지로 이동하여 자세한 오류 정보를 확인할 수 있습니다. 그러나 심각한 문제가 발생하면 웹사이트에 치명적인 결과를 초래할 수 있습니다. 따라서 오류 메시지를 인쇄하여 적절하게 처리하는 것이 좋습니다. 🎜🎜PHP에서는 다음 함수를 사용하여 오류 정보를 출력할 수 있습니다: 🎜
  • var_dump() - 유형, 문자열 길이 및 값을 포함한 변수를 인쇄합니다.
  • print_r() - 사람이 읽을 수 있는 변수에 대한 정보를 인쇄합니다.
  • die() 또는 exit() - 스크립트 실행을 중지하고 메시지를 출력합니다.
🎜사례 분석🎜🎜 귀하의 웹사이트가 PHP를 사용하여 개발되었으며, 어떤 이유로 인해 일부 오류가 발생하여 이 페이지를 열었다고 가정해 보겠습니다. . 빈 흰색 페이지가 표시되고 오류 메시지가 표시되지 않습니다. 여기서는 페이지 문제를 해결하고 PHP 오류 메시지를 보고 표시합니다. 🎜🎜먼저 PHP의 출력 레벨을 설정해야 합니다. index.php 시작 부분에 다음 코드를 추가하세요: 🎜rrreee🎜이렇게 하면 PHP의 오류 메시지 표시가 켜지고 모든 오류 유형의 출력이 설정됩니다. 위의 코드를 추가한 후 페이지를 다시 방문하면 자세한 오류 메시지가 표시됩니다. 🎜🎜표시된 오류 메시지는 다음 코드와 유사합니다. 🎜rrreee🎜위의 오류 메시지는 파일 경로, 파일 이름, 줄 번호 및 오류 메시지를 포함하여 매우 자세한 오류 메시지를 보여줍니다. 이때 해당 오류 정보를 직접 복사하여 개발자에게 보내거나 그에 따라 처리할 수 있습니다. 🎜🎜요약🎜🎜위는 PHP의 오류 메시지 출력 수준을 설정하는 방법과 PHP 구성 파일에서 오류 메시지 표시를 켜는 방법을 배웠습니다. 오류 메시지 표시를 켜면 PHP 애플리케이션 오류를 신속하게 해결하고 해결할 수 있습니다. 🎜🎜프로덕션 환경에서는 오류를 처리하기 위해 오류 메시지 출력을 켜서는 안 되지만, 디버깅 및 개발 단계에서는 PHP 오류 메시지 출력을 켜면 문제를 더 빠르게 해결하고 개발 효율성을 높일 수 있습니다. 🎜

위 내용은 PHP에서 오류 정보를 표시하는 방법(방법에 대한 간략한 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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