PHP에서 오류 출력

Каким бы аккуратным и внимательным не был 그의 작업 중에 웹 프로그래머, 오류 및 부정확성이 가능합니다. 결과적으로 웹 사이트 또는 서비스 오류가 발생할 수 있습니다. 프로젝트 개발 중 디버깅을 위해 PHP에서 오류 출력을 활성화 할 수 있습니다.

어떻게 작동합니까?

PHP는 확실히 하나 또는 다른 코드에 응답합니다스크립트. 어떤 경우에는 필요한 조치를 수행하고 다른 경우에는 오류를 표시합니다. 이 메커니즘을 통해 개발자는 코드 섹션을 구현할 때 결함을 신속하게 수정할 수 있습니다.

PHP 오류 출력

그러나 PHP의 오류 출력이 항상 필요한 것은 아닙니다. 프로젝트 개발이 완료되면 해킹이나 무단 액세스를 피하기 위해이 기능이 비활성화됩니다.

사용자 정의

PHP는 인터프리터의 전체 구성을 담당합니다.php.ini 파일. error_reporting 지시문이 있는데, 이는 PHP의 오류 출력을 결정합니다. 그러나 예외 처리가 포함되어 있지만 display_errors는 브라우저 창에 예외를 표시합니다. 비활성화 된 경우 시스템은 오류 대신 빈 페이지를 표시합니다.

예외 분류

PHP의 오류 출력은 여러 범주로 나눌 수 있습니다.

  • 스크립트 작동을 중지시키는 오류. 소위 치명적입니다. 여기에는 E_ERROR, E_COMPILE_ERROR가 포함됩니다.

  • 수정할 수있는 오류. error_reporting 지시문에 대한 값은 E_WARNING, E_NOTICE 및 기타 일 수 있습니다.

각 유형을 더 자세히 고려하고 기능을 설명하는 것이 좋습니다.

  • E_ERROR 일반적으로이 유형은 빠르게 해결할 수 없거나 스크립트가 계속 실행되는 오류를 나타냅니다. 여기에는 메모리 할당 문제가 포함될 수 있습니다.

  • E_WARNING. 코드는 계속 작동하지만 어떤 종류의 오류가 있음을 경고하는 메시지가 표시됩니다. 중요하지 않습니다.

  • E_NOTICE. 표시되는 알림 : 오류가 발생할 수있는 문제가 발생했습니다. 코드 실행에도 중요하지 않습니다.

  • E_USER_ERROR. 사용자가 생성 한 오류

  • E_ALL. 여기에는 모든 유형의 오류가 포함됩니다. 일반적으로이 옵션은 인터프리터를 설치할 때 기본적으로 사용됩니다.

PHP에서 오류 출력을 활성화하는 방법

PHP에서 오류 메커니즘을 사용하는 방법호스팅 또는 로컬 컴퓨터에서 코드가 적용되는 위치에 따라 달라질 수 있습니다. 두 번째 경우 개발자는 원하는대로 서버를 구성하고 표시 할 수 있습니다. 즉, php.ini 파일에서 구성을 변경할 수 있습니다. display_errors 및 error_reporting이라는 두 가지 지시문을 다음 형식으로 가져 오면 충분합니다.

에 display_errors

error_reporting E_ALL

이 명령을 사용하면 모든 오류 메시지를 브라우저 창에 직접 표시 할 수 있습니다.

PHP 활성화 오류 출력

개발이 가상에서 수행되는 경우호스팅하는 경우 보안상의 이유로 오류 표시 기능이 비활성화되는 경우가 가장 많습니다. 따라서 활성화하려면 Apache htaccess 서버 설정 파일을 사용해야합니다. 일반적으로 사이트의 루트에 있습니다. 텍스트 편집기를 사용하여 몇 줄을 추가해야합니다.

php_flag display_errors on

php_value 오류보고 -1

ini_set () 함수를 사용하여 코드에서 직접 오류를 출력 할 수도 있습니다. 그러나 사이트 개발 후 사이트를 사용하면 보안 문제가 발생할 수 있다는 점을 명심해야합니다.

PHP 파일 오류 출력

파일에 쓰기

PHP를 사용하면 하드 드라이브의 특정 위치에서 발생하는 모든 오류를 저장할 수 있습니다. PHP 오류 출력을 파일에 포함시키기 위해 다음 세 가지 방법을 사용할 수 있습니다.

  1. php.ini 파일을 편집하십시오. 여기에 두 줄을 정의해야합니다. 첫 번째는 log_errors = On이며, 실제로 출력 기능을 활성화합니다. 두 번째는 error_log = path / 원하는 / 파일입니다.

  2. htaccess를 변경하십시오. 두 줄을 추가 할 수도 있습니다. php_value log_errors "on"및 php_value error_log 파일 경로.

  3. 코드에서 필요한 위치에 ini_set 함수를 사용하십시오.

결론

PHP의 오류 출력은 필요한 도구입니다디버깅 코드. 그러나 잠재적으로 취약한 영역을 만들 수도 있습니다. 따라서이 메커니즘을 신중하고 신중하게 사용해야합니다. 사이트 나 서비스가 모든 테스트 단계를 통과 한 후에는 공격자가 중요한 데이터에 액세스 할 수있는 오류가 표시되지 않도록해야합니다.