2.PHP怎么记录异常和发送异常
2.PHP如何记录错误和发送错误
1. 将错误记录到指定的文件中,配置过程如下
* 1). log_errors=on
* 2). error_log=/tmp/php_error.log
1.使用error_log()函数记录错误日志
error_log(‘要记录的错误信息!’);
<code class="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="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="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>
版权声明:本文为博主原创文章,未经博主允许不得转载。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP est un langage de développement Web populaire utilisé depuis longtemps. La classe PDO (PHP Data Object) intégrée à PHP est un moyen courant pour nous d'interagir avec la base de données lors du développement d'applications Web. Cependant, un problème que certains développeurs PHP rencontrent souvent est que lorsqu'ils utilisent la classe PDO pour interagir avec la base de données, ils reçoivent une erreur comme celle-ci : PHPFatalerror:CalltoundefinedmethodPDO::prep

Il est très courant d'utiliser axios dans les applications Vue. axios est un client HTTP basé sur Promise qui peut être utilisé dans les navigateurs et Node.js. Pendant le processus de développement, le message d'erreur « Uncaught(inpromise)Error : Requestfailedwithstatuscode500 » apparaît parfois pour les développeurs, ce message d'erreur peut être difficile à comprendre et à résoudre. Cet article explorera ceci

Résolvez le problème « erreur : type incomplet n'est pas autorisé » dans le code C++. Au cours du processus de programmation C++, vous rencontrez parfois des erreurs de compilation. L'une des erreurs courantes est « erreur : type incomplet n'est pas autorisé ». Cette erreur est généralement provoquée par une opération sur un type incomplet. Cet article expliquera la cause de cette erreur et proposera plusieurs solutions. Tout d'abord, je

Solution à « 0271 : erreur d'horloge en temps réel » qui ne peut pas démarrer : 1. Appuyez sur F1 et dans l'interface qui apparaît, déplacez la barre d'options jusqu'au troisième élément « Date/Heure » 2. Modifiez manuellement l'heure du système à l'heure actuelle ; une fois ; 3. Appuyez sur F10 et sélectionnez oui dans la boîte de dialogue contextuelle ; 4. Rouvrez le portable pour démarrer normalement.

Résolvez le problème « erreur : initialiseur attendu avant le type de données » dans le code C++. Dans la programmation C++, nous rencontrons parfois des erreurs de compilation lors de l'écriture du code. L'une des erreurs courantes est « erreur : initialiseur attendu avant le type de données ». Cette erreur se produit généralement dans une déclaration de variable ou une définition de fonction et peut empêcher le programme de se compiler correctement ou

Interprétation des balises SQL dynamiques MyBatis : explication détaillée de l'utilisation des balises Set MyBatis est un excellent cadre de couche de persistance. Il fournit une multitude de balises SQL dynamiques et peut construire de manière flexible des instructions d'opération de base de données. Parmi elles, la balise Set est utilisée pour générer la clause SET dans l'instruction UPDATE, qui est très couramment utilisée dans les opérations de mise à jour. Cet article expliquera en détail l'utilisation de la balise Set dans MyBatis et démontrera ses fonctionnalités à travers des exemples de code spécifiques. Qu'est-ce que Set tag Set tag est utilisé dans MyBati

Comment résoudre PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory Dans le processus d'utilisation du développement PHP, nous rencontrons souvent des problèmes de fonctionnement des fichiers, dont "PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory"

Lors de l'écriture d'applications Web à l'aide de PHP, une base de données MySQL est souvent utilisée pour stocker les données. PHP fournit un moyen d'interagir avec la base de données MySQL appelé MySQLi. Cependant, parfois lors de l'utilisation de MySQLi, vous rencontrerez un message d'erreur, comme indiqué ci-dessous : PHPFatalerror:Calltoundefinedfunctionmysqli_connect() Ce message d'erreur signifie que PHP ne peut pas trouver mon
