PHP 5는 엄격한 표준 오류를 비활성화
엄격한 표준에 대한 오류보고를 비활성화하려면 맨 위에 PHP 스크립트를 설정해야합니다.
아무도 도와 줄 수 있습니까?
오류보고를 비활성화 하시겠습니까, 아니면 사용자가 보지 못하게 하시겠습니까? 일반적으로 프로덕션 사이트에서도 오류를 기록하는 것이 좋습니다.
# in your PHP code:
ini_set('display_errors', '0'); # don't show any errors...
error_reporting(E_ALL | E_STRICT); # ...but do log them
그것들은 표준 시스템 로그에 기록되거나 error_log
지시문을 사용하여 오류가 발생하는 위치를 정확하게 지정합니다.
오류가 없습니다.
error_reporting(0);
또는 엄격하지 않은
error_reporting(E_ALL ^ E_STRICT);
모든 오류를 다시 표시하려면
error_reporting(-1);
위의 모든 솔루션이 정확합니다. 그러나 일반적인 PHP 응용 프로그램에 대해 이야기 할 때 필요한 모든 페이지에 포함시켜야합니다. 이 문제를 해결하는 방법 .htaccess
은 루트 폴더를 통하는 것 입니다. 오류를 숨기려면 [파일에 다음 줄 중 하나를 입력하십시오]
php_flag display_errors off
또는
php_value display_errors 0
다음으로 오류보고를 설정하려면
php_value error_reporting 30719
값 30719
이 어떻게되는지 궁금하다면 E_ALL (32767), E_STRICT (2048)는 실제로는 숫자 값을 보유하는 상수이며 ( 32767 - 2048 = 30719
)
error_reporting 플래그 의 기본값 은 php.ini에 설정되어 있지 않은 경우 E_ALL & ~ E_NOTICE 입니다. 그러나 일부 설치 (특히 개발 환경을 대상으로하는 설치)에는 E_ALL | E_STRICT 가이 플래그의 값으로 설정되었습니다 ( 개발 중 권장되는 값입니다 ). 경우에 따라, 특히 개발 환경에서 PHP 5.3 이전에 개발되었지만 PHP 5.3에서 정의한 모범 사례로 아직 업데이트되지 않은 일부 오픈 소스 프로젝트를 실행하려는 경우에는 일부 프로젝트가 필요할 수 있습니다. 당신 같은 메시지. 이 상황에 대처하는 가장 좋은 방법은 E_ALL 만 error_reporting 플래그 의 값으로 설정 하는 것입니다.php.ini 또는 코드 (아마도 웹 루트의 index.php와 같은 프론트 컨트롤러에서 다음과 같이)
if(defined('E_STRICT')){
error_reporting(E_ALL);
}
php.ini 세트에서 :
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
워드 프레스
워드 프레스 환경에서 작업하는 경우 워드 프레스는 함수 wp-includes / load.php 파일의 오류 수준을 설정합니다 wp_debug_mode()
. 따라서이 함수가 호출 된 후 (git로 체크인되지 않은 파일에서 개발 전용) 레벨을 변경하거나 error_reporting()
호출을 직접 수정해야 합니다
프로덕션 준비가 된 소프트웨어에 깨끗하고 적합한 답변을 보지 못했습니다.
/*
* Get current error_reporting value,
* so that we don't lose preferences set in php.ini and .htaccess
* and accidently reenable message types disabled in those.
*
* If you want to disable e.g. E_STRICT on a global level,
* use php.ini (or .htaccess for folder-level)
*/
$old_error_reporting = error_reporting();
/*
* Disable E_STRICT on top of current error_reporting.
*
* Note: do NOT use ^ for disabling error message types,
* as ^ will re-ENABLE the message type if it happens to be disabled already!
*/
error_reporting($old_error_reporting & ~E_STRICT);
// code that should not emit E_STRICT messages goes here
/*
* Optional, depending on if/what code comes after.
* Restore old settings.
*/
error_reporting($old_error_reporting);
참고 URL : https://stackoverflow.com/questions/1248952/php-5-disable-strict-standards-error
'Programing' 카테고리의 다른 글
GDB에서 레지스터 값을 인쇄하는 방법은 무엇입니까? (0) | 2020.05.23 |
---|---|
“git branch”와“git checkout -b”의 차이점은 무엇입니까? (0) | 2020.05.23 |
이 예제에서 java.util.ConcurrentModificationException이 발생하지 않는 이유는 무엇입니까? (0) | 2020.05.23 |
const로 변수를 초기화하려고 할 때 오류 "초기화 요소가 일정하지 않습니다" (0) | 2020.05.23 |
어셈블리 이름 얻기 (0) | 2020.05.23 |