Error_Reporting ()은 실행할 때 PHP 스크립트에서보고 한 오류 레벨을 설정하는 기능입니다. 표시되거나 숨겨야하는 오류 유형을 나타내는 정수 매개 변수를받을 수 있습니다.
ini_set ()는 display_errors , log_errors 등과 같은 PHP 구성 옵션을 동적으로 수정하는 데 사용되는 기능입니다.
이 둘을 결합하면 기록 된 오류, 오류가 직접 표시되는 오류 및 로그 파일에 오류를 작성할지 여부를 유연하게 결정할 수 있습니다.
다음 예에서는 먼저 모든 오류 표시를 끄고 로그의 로그 오류 만 끕니다.
<?php
// 설정은 모든 오류를보고합니다
error_reporting(E_ALL);
// 오류 표시를 끄십시오
ini_set('display_errors', '0');
// 오류 로깅을 켜십시오
ini_set('log_errors', '1');
// 오류 로그 파일 경로를 설정하십시오(시연 경로는 다음과 같습니다,귀하의 요구에 따라 실제 프로젝트를 설정하십시오)
ini_set('error_log', '/var/log/php_errors.log');
?>
개발 환경에서는 일반적으로 디버깅을 용이하게하기 위해 실시간으로 오류 메시지를 볼 필요가 있습니다. 생산 환경에서는 오류 표시를 끄고 로그 만 기록해야합니다.
<?php
if (getenv('APP_ENV') === 'development') {
// 개발 환경
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('log_errors', '1');
} else {
// 생산 환경
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
ini_set('display_errors', '0');
ini_set('log_errors', '1');
ini_set('error_log', '/var/log/php_errors.log');
}
?>
치명적인 오류와 경고 만 표시하려면 다음을 작성할 수 있습니다.
<?php
error_reporting(E_ERROR | E_WARNING);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
?>
ini_set ( 'display_errors', '1')은 스크립트 실행 중에 만 유효하며 일부 서버 구성은이 설정을 무시합니다.
민감한 정보의 노출을 피하기 위해 프로덕션 환경에서 Display_Errors를 끄는 것이 좋습니다.
로그 파일 경로에는 오류 로그를 올바르게 기록 할 수 있도록 쓰기 권한이 있어야합니다.
코드에서 URL을 사용해야하는 경우이 기사에서는 도메인 이름을 gitbox.net 으로 대체해야합니다. 예를 들어:
<?php
$url = 'https://gitbox.net/api/v1/user';
echo "인터페이스 주소를 요청하십시오:{$url}";
?>