搜尋
首頁後端開發php教程PHP日志记录步骤

PHP日志记录方法

PHP一直被认为是一种上不了台面的语言,主要是因为它大量的依靠各种函数。但事实上PHP也是网站中使用最广的语言,这跟它的简单方便有关。相比起其他网站语言来说,PHP没有自己的server,需要依赖Apache等服务器,如果你使用Tomcat,你就会明显感觉到PHP少了一个后台控制台,在Tomcat的控制台里你可以事实看到程序输出的日志信息。而PHP就缺少了这种能力,当你遇到在开发PHP程序时,需要实时看到后台打印出日志时,我想你的愿望很难实现。一种变通的方案是将日志出处到一个文件里。PHP里提供了一个<span class="pln">error_log</span><span class="pun">()</span>,能帮助你快捷的将日志输出到指定的文件里。

这个函数的接口描述如下:

bool error_log (string $message [,int $message_type =0[,string $destination [,string $extra_headers ]]])

其中第一个参数是要输出的日志,第二个参数是输出的方式,一共有四种方式,分别是:

error_log() 日志类型
0 <span class="pln">message</span> 发送到 PHP 的系统日志,使用
操作系统的日志机制或者一个文件,取决于
error_log 指令设置了什么。
这是个默认的选项。
1 <span class="pln">message</span> 发送到参数 <span class="pln">destination</span>
设置的邮件地址。
第四个参数 <span class="pln">extra_headers</span> 只有在这个类型里才会被用到。
2 不再是一个选项。
3 <span class="pln">message</span> 被发送到位置为 <span class="pln">destination</span> 的文件里。
字符 <span class="pln">message</span> 不会默认被当做新的一行。
4 <span class="pln">message</span> 直接发送到 SAPI 的日志处理程序中。

我们最常用的是输出到日志文件里,就是3.

下面是一个用法的例子:

<span class="pun"><?</span><span class="pln">php</span><span class="com">// 如果无法连接到数据库,发送通知到服务器日志</span><span class="kwd">if</span><span class="pun">(!</span><span class="typ">Ora_Logon</span><span class="pun">(</span><span class="pln">$username</span><span class="pun">,</span><span class="pln"> $password</span><span class="pun">))</span><span class="pun">{</span><span class="pln">    error_log</span><span class="pun">(</span><span class="str">"Oracle database not available!"</span><span class="pun">,</span><span class="lit">0</span><span class="pun">);</span><span class="pun">}</span><span class="com">// 如果用尽了 FOO,通过邮件通知管理员</span><span class="kwd">if</span><span class="pun">(!(</span><span class="pln">$foo </span><span class="pun">=</span><span class="pln"> allocate_new_foo</span><span class="pun">()))</span><span class="pun">{</span><span class="pln">    error_log</span><span class="pun">(</span><span class="str">"Big trouble, we're all out of FOOs!"</span><span class="pun">,</span><span class="lit">1</span><span class="pun">,</span><span class="str">"[email&#160;protected]"</span><span class="pun">);</span><span class="pun">}</span><span class="com">// 调用 error_log() 的另一种方式:</span><span class="pln">error_log</span><span class="pun">(</span><span class="str">"You messed up!"</span><span class="pun">,</span><span class="lit">3</span><span class="pun">,</span><span class="str">"/var/tmp/my-errors.log"</span><span class="pun">);</span><span class="pun">?></span>

?

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP Fatal error: Call to undefined method PDO::prepare() in的解决方法PHP Fatal error: Call to undefined method PDO::prepare() in的解决方法Jun 22, 2023 pm 06:40 PM

PHP作为一种流行的Web开发语言,已经被使用了很长时间。PHP中集成的PDO(PHP数据对象)类是我们在开发Web应用程序过程中与数据库进行交互的一种常用方法。但是,一些PHP开发者经常遇到的问题是,当使用PDO类与数据库进行交互时,他们会收到这样的错误:PHPFatalerror:CalltoundefinedmethodPDO::prep

在Vue应用中使用axios时出现“Uncaught (in promise) Error: Request failed with status code 500”怎么办?在Vue应用中使用axios时出现“Uncaught (in promise) Error: Request failed with status code 500”怎么办?Jun 24, 2023 pm 05:33 PM

在Vue应用中使用axios是十分常见的,axios是一种基于Promise的HTTP客户端,可以用于浏览器和Node.js。在开发过程中,有时会出现“Uncaught(inpromise)Error:Requestfailedwithstatuscode500”的错误提示,对于开发者来说,这个错误提示可能有些难以理解和解决。本文将会探讨这

解决C++代码中出现的“error: incomplete type is not allowed”问题解决C++代码中出现的“error: incomplete type is not allowed”问题Aug 26, 2023 pm 08:54 PM

解决C++代码中出现的“error:incompletetypeisnotallowed”问题在C++的编程过程中,有时候会遇到一些编译错误,其中一个常见的错误是“error:incompletetypeisnotallowed”。这个错误通常是由于在使用不完整的类型进行操作时引起的。本文将介绍这个错误的原因,并提供几种解决方法。首先,我

0271:real time clock error开不开机怎么办0271:real time clock error开不开机怎么办Mar 13, 2023 am 11:30 AM

“0271:real time clock error”开不开机的解决办法:1、按一下F1,在出现的界面中,将选项栏转到第三项“Date/Time”;2、将系统时间手动修改成现在的时间;3、按F10,在弹出的对话框中,选择yes;4、重新打开笔记本即可正常开机。

解决C++代码中出现的“error: expected initializer before 'datatype'”问题解决C++代码中出现的“error: expected initializer before 'datatype'”问题Aug 25, 2023 pm 01:24 PM

解决C++代码中出现的“error:expectedinitializerbefore'datatype'”问题在C++编程中,有时候我们在编写代码时会遇到一些编译错误,其中一种常见的错误是“error:expectedinitializerbefore'datatype'”。这个错误通常在变量声明或函数定义中发生,可能导致程序无法正确编译或

如何解决PHP Warning: fopen(): failed to open stream: No such file or directory如何解决PHP Warning: fopen(): failed to open stream: No such file or directoryAug 19, 2023 am 10:44 AM

如何解决PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory在使用PHP开发过程中,我们经常会遇到一些文件操作的问题,其中之一就是"PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory

PHP Fatal error: Call to undefined function mysqli_connect()的解决方法PHP Fatal error: Call to undefined function mysqli_connect()的解决方法Jun 23, 2023 am 09:40 AM

在使用PHP编写Web应用程序时,经常会使用MySQL数据库来存储数据。PHP提供了一种与MySQL数据库进行交互的方法,称为MySQLi。然而,有时在使用MySQLi时,会遇到一个错误信息,如以下所示:PHPFatalerror:Calltoundefinedfunctionmysqli_connect()这个错误信息意味着PHP无法找到my

PHP Fatal error: Call to a member function fetch()的解决方法PHP Fatal error: Call to a member function fetch()的解决方法Jun 23, 2023 am 09:36 AM

在使用PHP进行web应用开发时,很多时候会需要使用数据库。而在使用数据库时,错误提示是非常常见的事情。其中,PHPFatalerror:Calltoamemberfunctionfetch()是一种比较常见的错误,它会在使用PDO查询数据库时出现。那么,这个错误是怎么引起的,以及如何解决呢?本文将为大家详细阐述。一、错误产生原

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)