오류 및 경고를 파일에 기록하는 방법
PHP오류 및 경고를 파일에 기록하는 방법
모든 오류와 경고를 켜고 파일에 기록하는 방법 (php.ini에서 아무것도 변경하지 않음)을 스크립트 내에서 모두 설정하는 방법. 파일 이름을 정의하고 모든 오류 및 경고가 기록되도록하려고합니다.
해결법
-
==============================
1.다음 코드를 사용하십시오.
다음 코드를 사용하십시오.
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를 업데이트하십시오.
-
==============================
2.만나다
만나다
예
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
오류 또는 경고 또는 로그해야하는 것이 발생할 때마다이 함수를 호출하는 자체 오류 처리기로 오류 처리를 사용자 정의 할 수 있습니다. 추가 정보는 PHP Manual의 Error Handling 장을 참조하십시오.
-
==============================
3..htaccess에이 코드를 추가하십시오 (php.ini에 접근 할 수 없다면)
.htaccess에이 코드를 추가하십시오 (php.ini에 접근 할 수 없다면)
<IfModule mod_php5.c> php_flag log_errors on php_value error_log ./path_to_MY_PHP_ERRORS.log </IfModule>
추신. 이는 Apache 유형 서버용입니다.
-
==============================
4.이 코드들을 PHP / index 파일의 상단에 넣기 만하면됩니다 :
이 코드들을 PHP / index 파일의 상단에 넣기 만하면됩니다 :
error_reporting(E_ALL); // Error engine - always ON! ini_set('display_errors', TRUE); // Error display - OFF in production env or real server ini_set('log_errors', TRUE); // Error logging ini_set('error_log', 'your/path/to/errors.log'); // Logging file ini_set('log_errors_max_len', 1024); // Logging file size
-
==============================
5.php.ini의 log_errors 설정 옵션을 살펴보십시오. 당신이 원하는대로 할 것 같습니다. 나는 당신이 너무 자신의 로깅 파일을 설정하는 error_log 옵션을 사용할 수 있다고 생각합니다.
php.ini의 log_errors 설정 옵션을 살펴보십시오. 당신이 원하는대로 할 것 같습니다. 나는 당신이 너무 자신의 로깅 파일을 설정하는 error_log 옵션을 사용할 수 있다고 생각합니다.
log_errors 지시문을 On으로 설정하면 PHP가보고 한 모든 오류가 서버 로그 또는 error_log로 지정된 파일에 기록됩니다. 필요한 경우 이러한 옵션을 ini_set으로 설정할 수도 있습니다.
(이 옵션이 활성화되어 있으면 php.ini에서 display_errors를 비활성화해야합니다)
-
==============================
6.그건 내 개인적인 짧은 기능이야.
그건 내 개인적인 짧은 기능이야.
# 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); }
-
==============================
7.또한이 작업을 수행하려면 "AllowOverride Options"지시문이 필요합니다. (아파치 2.2.15)
또한이 작업을 수행하려면 "AllowOverride Options"지시문이 필요합니다. (아파치 2.2.15)
from https://stackoverflow.com/questions/3531703/how-to-log-errors-and-warnings-into-a-file by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP로 작업하는 Java HttpClient 라이브러리를 사용하여 파일을 업로드하는 방법 (0) | 2018.09.08 |
---|---|
codeigniter 이메일 라이브러리로 Gmail smtp로 이메일 보내기 (0) | 2018.09.08 |
어떻게 PHP로 HTML을 되풀이 할 수 있습니까? (0) | 2018.09.08 |
PHP cURL은 단일 요청으로 응답 헤더와 본문을 검색 할 수 있습니까? (0) | 2018.09.08 |
PHP 포함 파일에 직접 액세스하지 못하게합니다. (0) | 2018.09.08 |