2.PHP怎么记录异常和发送异常
2.PHP如何记录错误和发送错误
1. 将错误记录到指定的文件中,配置过程如下
* 1). log_errors=on
* 2). error_log=/tmp/php_error.log
1.使用error_log()函数记录错误日志
error_log(‘要记录的错误信息!’);
<code class="language-php hljs ">header(<span class="hljs-string">'content-type:text/html; charset=utf-8'</span>);<span class="hljs-comment">//开启所有的错误报告</span>error_reporting(-<span class="hljs-number">1</span>);<span class="hljs-comment">//设置时区</span>ini_set(<span class="hljs-string">'date.timezone'</span>, <span class="hljs-string">'PRC'</span>);<span class="hljs-comment">//禁用页面显示错误</span>ini_set(<span class="hljs-string">'display_errors'</span>, <span class="hljs-number">0</span>);<span class="hljs-comment">//开启日志记录功能</span>ini_set(<span class="hljs-string">'log_errors'</span>, <span class="hljs-number">1</span>);<span class="hljs-comment">//设置错误日志保存的位置</span>ini_set(<span class="hljs-string">'error_log'</span>, <span class="hljs-string">'/tmp/custom_error.log'</span>);<span class="hljs-comment">//忽略重复的错误</span>ini_set(<span class="hljs-string">'ignore_repeated_errors'</span>, <span class="hljs-string">'on'</span>);<span class="hljs-comment">//忽略重复的错误来源</span>ini_set(<span class="hljs-string">'ignore_repeated_source'</span>, <span class="hljs-string">'on'</span>);error_log(<span class="hljs-string">'我要把你记录到我的自定义错误日志中'</span>.date(<span class="hljs-string">'Y-m-d H:i:s'</span>, time()));trigger_error(<span class="hljs-string">'trigger_error-----我要把你记录到我的系统错误日志中'</span>.date(<span class="hljs-string">'Y-m-d H:i:s'</span>, time()), E_USER_NOTICE);settype(<span class="hljs-variable">$var</span>, <span class="hljs-string">'king'</span>);</code>
2.将错误记录到系统日志中
* 1.ini_set('error_log', 'syslog');
常用
<code class="language-php hljs ">方法一<span class="hljs-comment">//开启所有的错误报告</span>error_reporting(-<span class="hljs-number">1</span>);<span class="hljs-comment">//禁用页面显示错误</span>ini_set(<span class="hljs-string">'display_errors'</span>, <span class="hljs-number">0</span>);<span class="hljs-comment">//开启日志记录功能</span>ini_set(<span class="hljs-string">'log_errors'</span>, <span class="hljs-number">1</span>);<span class="hljs-comment">//设置错误日志保存的位置------(系统日志)</span>ini_set(<span class="hljs-string">'error_log'</span>, <span class="hljs-string">'syslog'</span>);<span class="hljs-comment">//忽略重复的错误</span>ini_set(<span class="hljs-string">'ignore_repeated_errors'</span>, <span class="hljs-string">'on'</span>);<span class="hljs-comment">//忽略重复的错误来源</span>ini_set(<span class="hljs-string">'ignore_repeated_source'</span>, <span class="hljs-string">'on'</span>);<span class="hljs-comment">// error_log('error_log-----我要把你记录到我的系统错误日志中'.date('Y-m-d H:i:s', time()));</span>trigger_error(<span class="hljs-string">'trigger_error-----我要把你记录到我的系统错误日志中'</span>.date(<span class="hljs-string">'Y-m-d H:i:s'</span>, time()), E_USER_NOTICE);<span class="hljs-comment">// settype($var, 'king');</span>方法二<span class="hljs-comment">//====================出于安全问题不用===========================</span><span class="hljs-comment">//打开到系统日志的链接</span>openlog(<span class="hljs-string">'PHP5.6.0'</span>, LOG_PID, LOG_SYSLOG);syslog(LOG_ERR, <span class="hljs-string">'this is a test syslog'</span>.date(<span class="hljs-string">'Y-m-d H:i:s'</span>, time()));closelog();</code>
2.将错误日志通过邮件发送
* 1.error_log('msg', 1, mail_addr);
第二个参数设置为1
**bool
error_log ( string$message
[, int$message_type = 0
[, string$destination
[, string$extra_headers
]]] )
<code class=" hljs cmake"><span class="hljs-keyword">message</span>应该被记录的错误信息。message_type设置错误应该发送到何处。可能的信息类型有以下几个:error_log() 日志类型<span class="hljs-number">0</span> <span class="hljs-keyword">message</span> 发送到 PHP 的系统日志,使用 操作系统的日志机制或者一个文件,取决于 error_log 指令设置了什么。 这是个默认的选项。<span class="hljs-number">1</span> <span class="hljs-keyword">message</span> 发送到参数 destination 设置的邮件地址。 第四个参数 extra_headers 只有在这个类型里才会被用到。<span class="hljs-number">2</span> 不再是一个选项。<span class="hljs-number">3</span> <span class="hljs-keyword">message</span> 被发送到位置为 destination 的文件里。 字符 <span class="hljs-keyword">message</span> 不会默认被当做新的一行。<span class="hljs-number">4</span> <span class="hljs-keyword">message</span> 直接发送到 SAPI 的日志处理程序中。destination目标。它的含义描述于以上,由 message_type 参数所决定。extra_headers额外的头。当 message_type 设置为 <span class="hljs-number">1</span> 的时候使用。 该信息类型使用了 mail() 的同一个内置函数。</code>
<code class="language-php hljs "><span class="hljs-comment">//开启所有的错误报告</span>error_reporting(-<span class="hljs-number">1</span>);<span class="hljs-comment">//禁用页面显示错误</span>ini_set(<span class="hljs-string">'display_errors'</span>, <span class="hljs-number">0</span>);<span class="hljs-comment">//开启日志记录功能</span>ini_set(<span class="hljs-string">'log_errors'</span>, <span class="hljs-number">1</span>);<span class="hljs-comment">//忽略重复的错误</span>ini_set(<span class="hljs-string">'ignore_repeated_errors'</span>, <span class="hljs-string">'on'</span>);<span class="hljs-comment">//忽略重复的错误来源</span>ini_set(<span class="hljs-string">'ignore_repeated_source'</span>, <span class="hljs-string">'on'</span>);<span class="hljs-comment">//设置第二个参数为1将,使用邮件发送错误日志信息</span>error_log(<span class="hljs-string">'error_log-----我要把你记录到我的系统错误日志中'</span>.date(<span class="hljs-string">'Y-m-d H:i:s'</span>, time()), <span class="hljs-number">1</span>, <span class="hljs-string">[email protected]'</span>);</code>
版权声明:本文为博主原创文章,未经博主允许不得转载。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP는 오랫동안 사용되어 온 인기 있는 웹 개발 언어입니다. PHP에 통합된 PDO(PHP 데이터 개체) 클래스는 웹 애플리케이션 개발 중에 데이터베이스와 상호 작용하는 일반적인 방법입니다. 그러나 일부 PHP 개발자가 자주 직면하는 문제는 PDO 클래스를 사용하여 데이터베이스와 상호 작용할 때 다음과 같은 오류가 발생한다는 것입니다. PHPFatalerror:CalltoundefinemethodPDO::prep

C++ 코드의 "error:incompletetypeisnotallowed" 문제를 해결하십시오. C++ 프로그래밍 프로세스 중에 흔히 발생하는 오류 중 하나는 "error:incompletetypeisnotallowed"입니다. 이 오류는 일반적으로 불완전한 유형에서 작업할 때 발생합니다. 이 문서에서는 이 오류의 원인을 설명하고 몇 가지 해결 방법을 제공합니다. 첫째로, 나는

Vue 애플리케이션에서 axios를 사용하는 것은 매우 일반적입니다. axios는 브라우저와 Node.js에서 사용할 수 있는 Promise 기반 HTTP 클라이언트입니다. 개발 과정에서 "Uncaught(inpromise)Error: Requestfailedwithstatuscode500"이라는 오류 메시지가 나타나는 경우가 있는데, 개발자 입장에서는 이 오류 메시지를 이해하고 해결하기 어려울 수 있습니다. 이 기사에서는 이에 대해 알아볼 것입니다.

부팅할 수 없는 "0271: 실시간 시계 오류"에 대한 해결 방법: 1. F1을 누르고 나타나는 인터페이스에서 옵션 표시줄을 세 번째 항목 "날짜/시간"으로 이동합니다. 2. 시스템 시간을 현재 시간으로 수동으로 변경합니다. 3. F10을 누르고 팝업 대화 상자에서 예를 선택합니다. 4. 정상적으로 부팅하려면 노트북을 다시 엽니다.

C++ 코드의 "error:expectedinitializerbefore'datatype'" 문제를 해결하세요. C++ 프로그래밍에서 코드를 작성할 때 가끔 컴파일 오류가 발생하는 경우가 있습니다. 일반적인 오류 중 하나는 "error:expectedinitializerbefore'datatype'"입니다. 이 오류는 일반적으로 변수 선언이나 함수 정의에서 발생하며 프로그램이 올바르게 컴파일되지 않거나

MyBatis 동적 SQL 태그 해석: Set 태그 사용법에 대한 자세한 설명 MyBatis는 풍부한 동적 SQL 태그를 제공하고 데이터베이스 작업 명령문을 유연하게 구성할 수 있는 탁월한 지속성 계층 프레임워크입니다. 그 중 Set 태그는 업데이트 작업에서 매우 일반적으로 사용되는 UPDATE 문에서 SET 절을 생성하는 데 사용됩니다. 이 기사에서는 MyBatis에서 Set 태그의 사용법을 자세히 설명하고 특정 코드 예제를 통해 해당 기능을 보여줍니다. Set 태그란 무엇입니까? Set 태그는 MyBati에서 사용됩니다.

PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory 해결 방법 PHP 개발을 사용하는 과정에서 "PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory"와 같은 파일 작업 문제가 종종 발생합니다.

PHP를 사용하여 웹 애플리케이션을 작성할 때 MySQL 데이터베이스를 사용하여 데이터를 저장하는 경우가 많습니다. PHP는 MySQLi라는 MySQL 데이터베이스와 상호 작용하는 방법을 제공합니다. 그러나 때때로 MySQLi를 사용할 때 아래와 같은 오류 메시지가 표시될 수 있습니다. PHPFatalerror:Calltoundefoundfunctionmysqli_connect() 이 오류 메시지는 PHP가 내 항목을 찾을 수 없음을 의미합니다.
