오류와 경고를 파일에 기록하는 방법은 무엇입니까?
모든 오류와 경고를 켜고 파일에 기록하지만 스크립트 내에서 모든 것을 설정하는 방법 (php.ini에서 아무것도 변경하지 않음). 파일 이름을 정의하고 모든 오류와 경고가 파일에 기록되도록하고 싶습니다.
다음 코드를 사용하십시오.
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
error_log( "Hello, errors!" );
그런 다음 파일을보십시오.
tail -f /tmp/php-error.log
또는 2008 년 부터이 블로그 항목에php.ini
설명 된대로 업데이트하십시오 .
보다
error_log
— 어딘가에 오류 메시지 보내기
예
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
오류나 경고 또는 로그해야 할 모든 것이 발생할 때마다이 함수를 호출하도록 자체 오류 처리기 로 오류 처리를 사용자 정의 할 수 있습니다 . 자세한 내용 은 PHP 매뉴얼 의 장 오류 처리 를 참조하십시오
다음 코드를 PHP / 인덱스 파일 맨 위에 두십시오.
error_reporting(E_ALL); // Error engine - always TRUE!
ini_set('ignore_repeated_errors', TRUE); // always TRUE
ini_set('display_errors', TRUE); // Error display - FALSE only in production environment or real server
ini_set('log_errors', TRUE); // Error logging engine
ini_set('error_log', 'your/path/to/errors.log'); // Logging file path
ini_set('log_errors_max_len', 1024); // Logging file size
이 코드를 .htaccess에 추가하십시오 ( php.ini / ini_set 함수 의 대안으로 ).
<IfModule mod_php5.c>
php_flag log_errors on
php_value error_log ./path_to_MY_PHP_ERRORS.log
# php_flag display_errors on
</IfModule>
* 언급 한대로 : 이것은 Apache 유형 서버용입니다.
저의 개인적인 짧은 기능입니다
# logging
/*
[2017-03-20 3:35:43] [INFO] [file.php] Here we are
[2017-03-20 3:35:43] [ERROR] [file.php] Not good
[2017-03-20 3:35:43] [DEBUG] [file.php] Regex empty
mylog ('hallo') -> INFO
mylog ('fail', 'e') -> ERROR
mylog ('next', 'd') -> DEBUG
mylog ('next', 'd', 'debug.log') -> DEBUG file debug.log
*/
function mylog($text, $level='i', $file='logs') {
switch (strtolower($level)) {
case 'e':
case 'error':
$level='ERROR';
break;
case 'i':
case 'info':
$level='INFO';
break;
case 'd':
case 'debug':
$level='DEBUG';
break;
default:
$level='INFO';
}
error_log(date("[Y-m-d H:i:s]")."\t[".$level."]\t[".basename(__FILE__)."]\t".$text."\n", 3, $file);
}
log_errors
php.ini 의 구성 옵션을 살펴보십시오 . 원하는대로하는 것 같습니다. error_log
옵션을 사용하여 자체 로깅 파일을 설정할 수도 있다고 생각합니다 .
log_errors
지시문이로 설정 되면 On
PHP가보고 한 모든 오류는 서버 로그 또는로 지정된 파일에 기록됩니다 error_log
. ini_set
필요한 경우 이러한 옵션을 설정할 수도 있습니다 .
( display_errors
이 옵션이 활성화 된 경우 php.ini에서 비활성화해야합니다.)
또한이 기능을 사용하려면 "AllowOverride Options"지시문이 필요합니다. (아파치 2.2.15)
참고 URL : https://stackoverflow.com/questions/3531703/how-to-log-errors-and-warnings-into-a-file
'IT story' 카테고리의 다른 글
클릭 한 요소의 클래스를 얻는 방법? (0) | 2020.04.22 |
---|---|
CSS3에서 div를 50px로 100 % 미만으로 만들 수 있습니까? (0) | 2020.04.22 |
Akka Streams를 시작하는 방법? (0) | 2020.04.22 |
유효한 UUID / GUID를 테스트하는 방법? (0) | 2020.04.22 |
실행중인 화면 세션에서 스크롤 백 버퍼를 늘리려면 어떻게합니까? (0) | 2020.04.22 |