PHP 및 MySQL에서 경고 및 오류 끄기
예상된 알림과 경고가 표시되므로 PHP 파일에서 해제하고 싶습니다.에러는 다음과 같습니다.
Warning: fsockopen()
그리고 통지는 다음과 같습니다.
Notice: A non well formed numeric value encountered in
이 PHP 스크립트에 cron을 사용할 예정이므로 오류나 알림이 기록되는 것을 원하지 않습니다.
스크립트가 완벽하게 동작하고 있는 것이 확인되면 다음과 같은 경고 및 알림을 제거할 수 있습니다.PHP 스크립트의 선두에 다음 행을 넣습니다.
error_reporting(E_ERROR);
그 전에 스크립트를 작성할 때 모든 알림이나 경고가 하나씩 사라지도록 스크립트를 적절히 디버깅하는 것이 좋습니다.
따라서 먼저 다음을 사용하여 가능한 한 상세하게 설정해야 합니다.
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
업데이트: 오류를 표시하지 않고 기록하는 방법
코멘트에서 제안했듯이, 더 나은 해결책은 오류 메시지를 사용자가 아닌 PHP 개발자만 볼 수 있도록 파일에 기록하는 것입니다.
구현은 .htaccess 파일을 사용하여 실행할 수 있으며, php.ini 파일(소스)에 액세스할 수 없는 경우에 유용합니다.
# Suppress PHP errors
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
# Enable PHP error logging
php_flag log_errors on
php_value error_log /home/path/public_html/domain/PHP_errors.log
# Prevent access to PHP error log
<Files PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>
모든 오류 보고 기능을 끄는 대신 '@' 기호를 사용하여 특정 오류를 억제합니다.
상세정보 : http://php.net/manual/en/language.operators.errorcontrol.php
PHP는 하나의 오류 제어 연산자(@)를 지원합니다.PHP 식 앞에 추가되면 해당 식에서 발생할 수 있는 오류 메시지는 무시됩니다.
@fsockopen();
PHP 오류_보고 참조:
// Turn off all error reporting
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
// Report all PHP errors
error_reporting(-1);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
테스트 서버에 항상 오류를 표시합니다.프로덕션 서버에서 오류를 표시하지 마십시오.
페이지가 로컬 서버, 테스트 서버 또는 라이브 서버 중 어느 쪽에 있는지 확인하는 스크립트를 작성하고 $state를 "local", "testing" 또는 "live"로 설정합니다.그 후, 다음과 같이 입력합니다.
if( $state == "local" || $state == "testing" )
{
ini_set( "display_errors", "1" );
error_reporting( E_ALL & ~E_NOTICE );
}
else
{
error_reporting( 0 );
}
어떤 이유로 php.ini 파일에 접근할 수 없는 경우 stdout 에러를 비활성화합니다(display_errors
디렉토리내의 .htaccess 파일에 격납하려면 , 다음의 행을 추가합니다.
php_flag display_errors off
또한 파일에 오류 로깅을 추가할 수 있습니다.
php_flag log_errors on
php.ini에서 필요한 오류 보고서 유형을 설정하거나 스크립트 위에 error_reporting() 함수를 사용하여 설정할 수 있습니다.
언급URL : https://stackoverflow.com/questions/1645661/turn-off-warnings-and-errors-on-php-and-mysql
'source' 카테고리의 다른 글
안드로이드에서 다운로드 폴더에 액세스하는 방법 (0) | 2022.09.17 |
---|---|
통신 패킷을 읽는 동안 MYSQL 오류가 발생했습니다. (0) | 2022.09.17 |
Java 논리 연산자 단락 (0) | 2022.09.16 |
도커: Windows 호스트에서 MariaDB/MySQL 부팅 실패 (0) | 2022.09.16 |
Vue with Vuex: 스토어 내에서 컴포넌트를 주입/이젝트할 수 있습니까? (0) | 2022.09.16 |