PHP에서 경고 메시지 제거
PHP 코드가 있습니다. 실행할 때 경고 메시지가 나타납니다.
이러한 경고 메시지를 제거 / 억제 / 무시하는 방법은 무엇입니까?
경고를 유발하는 모든 것을 수정해야하지만 error_reporting 으로 오류의 가시성을 제어 할 수 있습니다 . 경고 메시지를 건너 뛰려면 다음과 같이 사용할 수 있습니다.
error_reporting(E_ERROR | E_PARSE);
모든 오류 메시지를 억제하기 위해 함수 호출 앞에 @ 를 넣을 수 있습니다 .
@yourFunctionHere();
다른 모든 오류보고를 활성화 한 상태에서 경고를 표시하지 않으려면 :
error_reporting(E_ALL ^ E_WARNING);
오류뿐만 아니라 경고를 표시하지 않으려면
// Turn off all error reporting
error_reporting(0);
다른 모든 오류를 표시하는 동안 경고 및 일부 다른 오류 유형 (예 : 알림)을 표시하지 않으려면 다음을 수행하십시오.
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE);
Core Php에서 일반 포함 파일 또는 개별 파일의 맨 위에 경고 메시지 세트 error_reporting (0)을 숨기려면.
Wordpress에서 경고 및 알림 숨기기 wp-config.php 파일에 다음 코드를 추가하십시오.
ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
질문에 정확하게 대답하지는 않지만 일부 상황에서는 이것이 더 나은 타협이라고 생각합니다.
타사 라이브러리의 printf () 문으로 인해 경고 메시지가 나타납니다. 제 3자가 코드를 수정하는 동안 일시적인 해결 방법 인 원인이 무엇인지 정확히 알고있었습니다. 경고가 표시되지 않아야한다는 데 동의하지만 경고 메시지가 화면에 표시되어 클라이언트에게 작업을 보여줄 수 없습니다. 내 해결책 :
printf('<div style="display:none">');
...Third-party stuff here...
printf('</div>');
경고는 여전히 페이지 소스에 있었지만 클라이언트에게는 보이지 않습니다.
error_reporting을 사용하여 경고를 표시하지 않을 수 있지만 가장 좋은 방법은 스크립트를 처음에 수정하는 것입니다.
방법을 모르는 경우 질문을 편집하여 문제의 줄과 경고를 표시하십시오.
더 나은 솔루션은 .htaccess의 구성이라고 생각합니다. 그러면 응용 프로그램 코드를 변경할 필요가 없습니다. Apache2에 대한 지시문은 다음과 같습니다.
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
내 php.ini 에서 다음과 같이합니다 .
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
치명적인 오류 만 기록하고 경고는 기록하지 않습니다.
PHP 7.2는 시험해 볼 예제를 제공합니다. 다음은 449 행에서 시작하는 php.ini 파일에있는 내용입니다.
; Common Values:
; E_ALL (Show all errors, warnings and notices including coding standards.)
; E_ALL & ~E_NOTICE (Show all errors, except for notices)
; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL
읽어보고 다른 예제를 시도해보십시오. 일단 수정되면 서버를 다시 시작하고 시나리오를 테스트하십시오.
참고URL : https://stackoverflow.com/questions/1987579/remove-warning-messages-in-php
'Programming' 카테고리의 다른 글
이 ActiveRecord :: ReadOnlyRecord 오류의 원인은 무엇입니까? (0) | 2020.05.07 |
---|---|
SQL Server Management Studio에서 열 값을 NULL로 설정하는 방법 (0) | 2020.05.07 |
Visual Studio 2015 vshub는 스팸 피들러입니다. (0) | 2020.05.07 |
Docker 컨테이너 내부의 루트 비밀번호 (0) | 2020.05.07 |
Linux에서 출력 라인 당 하나의 파일 이름을 어떻게 나열합니까? (0) | 2020.05.07 |