Каким бы аккуратным и внимательным не был 그의 작업 중에 웹 프로그래머, 오류 및 부정확성이 가능합니다. 결과적으로 웹 사이트 또는 서비스 오류가 발생할 수 있습니다. 프로젝트 개발 중 디버깅을 위해 PHP에서 오류 출력을 활성화 할 수 있습니다.
어떻게 작동합니까?
PHP는 확실히 하나 또는 다른 코드에 응답합니다스크립트. 어떤 경우에는 필요한 조치를 수행하고 다른 경우에는 오류를 표시합니다. 이 메커니즘을 통해 개발자는 코드 섹션을 구현할 때 결함을 신속하게 수정할 수 있습니다.
![PHP 오류 출력](/images/kompyuteri/vivod-oshibok-v-php.jpg)
그러나 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 활성화 오류 출력](/images/kompyuteri/vivod-oshibok-v-php_2.jpg)
개발이 가상에서 수행되는 경우호스팅하는 경우 보안상의 이유로 오류 표시 기능이 비활성화되는 경우가 가장 많습니다. 따라서 활성화하려면 Apache htaccess 서버 설정 파일을 사용해야합니다. 일반적으로 사이트의 루트에 있습니다. 텍스트 편집기를 사용하여 몇 줄을 추가해야합니다.
php_flag display_errors on
php_value 오류보고 -1
ini_set () 함수를 사용하여 코드에서 직접 오류를 출력 할 수도 있습니다. 그러나 사이트 개발 후 사이트를 사용하면 보안 문제가 발생할 수 있다는 점을 명심해야합니다.
![PHP 파일 오류 출력](/images/kompyuteri/vivod-oshibok-v-php_3.jpg)
파일에 쓰기
PHP를 사용하면 하드 드라이브의 특정 위치에서 발생하는 모든 오류를 저장할 수 있습니다. PHP 오류 출력을 파일에 포함시키기 위해 다음 세 가지 방법을 사용할 수 있습니다.
php.ini 파일을 편집하십시오. 여기에 두 줄을 정의해야합니다. 첫 번째는 log_errors = On이며, 실제로 출력 기능을 활성화합니다. 두 번째는 error_log = path / 원하는 / 파일입니다.
htaccess를 변경하십시오. 두 줄을 추가 할 수도 있습니다. php_value log_errors "on"및 php_value error_log 파일 경로.
코드에서 필요한 위치에 ini_set 함수를 사용하십시오.
결론
PHP의 오류 출력은 필요한 도구입니다디버깅 코드. 그러나 잠재적으로 취약한 영역을 만들 수도 있습니다. 따라서이 메커니즘을 신중하고 신중하게 사용해야합니다. 사이트 나 서비스가 모든 테스트 단계를 통과 한 후에는 공격자가 중요한 데이터에 액세스 할 수있는 오류가 표시되지 않도록해야합니다.