PHP 如何查看错误日志
在做网站开发或维护时,偶尔会遇到页面加载异常、功能失效的情况,却找不到具体原因——这时候,查看错误日志就是快速定位问题的关键。很多刚接触PHP的朋友会觉得“日志”是很专业的东西,其实只要找对入口,用对方法,就能轻松看懂。
先搞懂:PHP错误日志是什么?
简单说,它就是PHP运行时的“错题本”。如果你的代码写错了(比如少了个分号)、调用的功能出错了(比如数据库连不上),或者服务器环境有问题,PHP会把这些错误的时间、位置、原因都记在日志里,就像老师把你写错的题目和错因写在本子上。

举个生活化的例子:你煮面时放错了盐(代码错误)、锅烧糊了(环境问题),或者水烧不开(依赖缺失),这些“问题场景”都会被记录下来,帮你下次少犯错。
方法一:用PHP代码直接查看(适合临时调试)
如果只是想快速看当前PHP运行的错误,不用翻服务器文件,直接写几行简单代码就能输出结果。比如你可以在需要调试的页面开头加这段代码:
`php
error_reporting(E_ALL); // 显示所有级别的错误(包括警告、通知)
ini_set('display_errors', 1); // 把错误直接显示在页面上
`
这种方法就像你把错题本摊在桌上,直接翻给别人看,方便快速临时查错。不过要注意:这是“临时显示”,如果页面上线了,最好关掉这个功能——不然访客看到错误信息可能会泄露网站漏洞。
方法二:找服务器上的错误日志文件(适合长期排查)
如果是线上网站,错误会被PHP自动写入日志文件里,不会直接显示在页面上。这时候要找文件,步骤很简单:
- 先找到文件的位置:不同服务器的日志路径不一样,比如常见的有
/var/log/php_errors.log(Linux服务器),或者网站根目录下的logs/php-error.log(虚拟主机)。如果找不到,还可以在PHP配置文件(php.ini)里找答案——打开php.ini,搜索error_log,后面的路径就是日志文件的位置。 - 用工具打开文件:如果是自己的服务器,用远程连接工具(比如Xshell)输入
cat /var/log/php_errors.log就能查看;如果是虚拟主机,在网站管理后台的“文件管理”里找到对应路径打开就行。
举个例子,日志里的一条记录可能是:[2024-05-20 14:30:00] PHP Fatal error: Uncaught Error: Call to undefined function xxx() in /var/www/html/index.php:25。翻译一下:2024年5月20日下午2点30分,PHP在index.php第25行调用了不存在的xxx函数——这就像你煮面时用了“不存在的调料”,日志直接告诉你错在哪一行、错在哪一步。
方法三:用PHP框架的内置命令(适合用框架的开发者)
如果是用Laravel、ThinkPHP这类PHP框架,不用手动找日志文件,框架自带的工具更省心:
比如ThinkPHP,直接在服务器里执行命令php think log就能查看最近的错误日志;Laravel的日志默认存在storage/logs文件夹里,文件名是按日期命名的,比如laravel-2024-05-20.log,打开就能看。
这就像学校统一整理了所有错题本,不用你自己找散页,直接拿班级的汇总本就行。
最后再提醒一句:错误日志不是“洪水猛兽”,它是帮你快速解决问题的工具。平时注意定期查看,遇到问题先找日志里的时间、位置、原因,就能少走很多弯路。