在 PHP 中查找错误日志位置
-
在 PHP 中使用
php --info
命令定位错误日志的文件位置 -
使用
phpinfo()
函数定位error_log
指令以查找 PHP 中的错误日志 - 在 Windows 中使用 XAMMP 控制面板查看 PHP 中的错误日志
我们将介绍一种使用 php --info
命令在 apache2
模块中定位和查看 PHP 中错误日志的方法。我们可以在 Windows 和 Linux 系统中使用此命令。此方法将定位系统中 PHP 错误日志文件的位置。
我们还将介绍另一种使用 phpinfo()
函数在 Windows 系统中定位 PHP 中错误日志的方法。此方法有助于查找 error_log
指令及其在系统中的位置。
本文将介绍另一种使用 XAMPP 控制面板查看 PHP 错误日志的方法。此方法适用于 apache 网络服务器。
在 PHP 中使用 php --info
命令定位错误日志的文件位置
我们可以使用 php --info
命令在 apache 模块中定位 PHP 中错误日志的文件位置。对于 Windows,使用命令提示符中的命令 php --info | findstr /r /c:"error_log"
。在 Linux 的情况下,使用命令 php --info | grep error
。这些命令将在终端中输出错误日志位置。
我们可以使用 cat
命令来查看 PHP 中的错误日志。cat
命令代表连接,它显示 Linux/Unix 系统中文件的内容。error.log
文件包含错误日志。该文件位于 var/log/apache2
目录中。例如,打开终端并写入命令 sudo cat /var/log/apache2/error.log
。该命令将在终端中显示 error.log
文件的内容。它包含在 PHP 中遇到的错误和注意事项的列表。
示例代码:
cat /var/log/apache2/error.log
输出:
[Mon May 10 13:59:14.803938 2021] [php7:error] [pid 185143] [client ::1:56320] PHP Parse error: syntax error, unexpected '<', expecting end of file in /var/www/html/index.php on line 21
[Mon May 10 14:01:00.048212 2021] [php7:error] [pid 185108] [client ::1:56340] PHP Fatal error: Uncaught Error: Call to undefined function php_func() in /var/www/html/index.php:8\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 8, referer: http://localhost/index.php
使用 phpinfo()
函数定位 error_log
指令以查找 PHP 中的错误日志
我们可以使用 phpinfo()
函数来检查 error_log
指令在 Windows 中的 PHP 中的位置。我们也可以使用这种方法来查找 Linux 系统中的错误日志位置。找到错误日志位置后,我们可以导航文件结构并查看错误日志。例如,在 PHP 文件中编写函数 phpinfo()
,然后在浏览器中打开该文件。找到一个指令 error_log
并检查它旁边的指令的位置。导航到文件位置,会出现一个名为 php_error_log
的文本文件。打开文件以查看 PHP 中的错误日志。如果该位置未出现在 phpinfo
文件中,请浏览 xammp
文件夹并单击 apache
文件夹。在 apache
文件夹中,存在一个文件夹 logs
,其中有一个文本文件 error
,其中包含错误日志。
下面的示例显示位于 xammp/apache/logs
位置的 error
文件中的错误日志。
示例代码:
# php 7.x
<?php
phpinfo();
?>
cd xampp/apache/logs/
输出:
[Tue Apr 27 10:53:49.699720 2021] [php7:error] [pid 13372:tid 1900] [client ::1:51930] PHP Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
[Tue Apr 27 10:54:06.232963 2021] [php7:error] [pid 13372:tid 1908] [client ::1:51934] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 C:\\xampp\\htdocs\\upload.php(20): PDOStatement->execute()\n#1 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
在 Windows 中使用 XAMMP 控制面板查看 PHP 中的错误日志
我们可以使用 XAMMP 控制面板在 PHP 中查看 Windows 中 apache 模块的错误日志。例如,打开 xammp 应用程序并找到 apache 模块。在操作列中,找到日志按钮。单击日志
按钮,会出现一些选项。选择选项 Apache (error.log)
。然后 error
文本文件打开,其中包含错误日志。
下面的输出部分显示了 error
文本文件的错误日志。该文件包含遇到的随机错误。
输出:
[Tue Apr 27 10:53:49.699720 2021] [php7:error] [pid 13372:tid 1900] [client ::1:51930] PHP Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
[Tue Apr 27 10:54:06.232963 2021] [php7:error] [pid 13372:tid 1908] [client ::1:51934] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 C:\\xampp\\htdocs\\upload.php(20): PDOStatement->execute()\n#1 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn