nginx中怎么输出php错误日志文件

2023-03-28,,

Nginx 是一款开源、高性能的 Web 服务器,可以作为反向代理服务器、负载均衡器等。而 PHP 是一种常用的编程语言,用于开发动态网站和 Web 应用程序。

在使用 Nginx 部署 PHP 程序时,可能会遇到 PHP 错误的问题。为了更好地排查和解决问题,需要将 PHP 的错误信息记录到日志文件中。本文将介绍如何使用 Nginx 输出 PHP 错误日志文件,方便后续的问题排查和处理。

配置 Nginx

要输出 PHP 错误日志文件,我们需要在 Nginx 的配置文件中添加一些配置项。在 CentOS 系统上,Nginx 的配置文件通常位于 /etc/nginx/nginx.conf。在文件中找到 http 模块的配置段,一般位于文件的顶部,添加以下的配置项:

http {
    ...
    server {
        ...
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;

            # error log
            fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";
        }
        ...
    }
    ...
}

location ~ .php$ 表示只有在访问以 .php 结尾的 URL 时才会使用到该配置项。fastcgi_pass 指定了 PHP 的 FastCGI 服务器的地址和端口号。fastcgi_param 用于设置 PHP 的参数,其中 SCRIPT_FILENAME 指定 PHP 脚本的路径和文件名。include fastcgi_params 告诉 Nginx 使用默认的 FastCGI 参数。最后一行添加了 fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";,表示将 PHP 的错误信息记录到 /var/log/nginx/php_errors.log 文件中。

创建日志文件

在配置完 Nginx 后,我们需要创建一个日志文件,用于记录 PHP 的错误信息。假设我们要将日志文件保存到 /var/log/nginx/php_errors.log,可以使用以下命令创建文件:

sudo touch /var/log/nginx/php_errors.log

然后使用以下命令修改文件的属主和权限:

sudo chown nginx:nginx /var/log/nginx/php_errors.log
sudo chmod 644 /var/log/nginx/php_errors.log

测试

测试时,可以创建一个 PHP 脚本并出现错误,例如:

<?php
echo 1/0;
?>

将这个脚本保存为 test.php,然后将其放置在 Nginx 的 Web 根目录下,例如 /usr/share/nginx/html/test.php。在浏览器中访问 http://localhost/test.php,将会看到一个 PHP 错误。然后使用以下命令查看日志文件内容:

sudo tail /var/log/nginx/php_errors.log

如果一切正常,应该能看到类似如下的错误信息:

[17-Oct-2021 20:52:42 UTC] PHP Warning:  Division by zero in /usr/share/nginx/html/test.php on line 2

结论

在本文中,我们介绍了如何在 Nginx 中输出 PHP 错误日志文件,这对于排查和处理 PHP 问题非常重要。要输出 PHP 错误日志文件,首先需要在 Nginx 的配置文件中添加 fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";,然后创建日志文件,并测试输出。

以上就是nginx中怎么输出php错误日志文件的详细内容,更多请关注北冥有鱼其它相关文章!

本文转载自【PHP中文网】,希望能给您带来帮助,苟日新、日日新、又日新,生命不息,学习不止。

《nginx中怎么输出php错误日志文件.doc》

下载本文的Word格式文档,以方便收藏与打印。