配置 Nginx
在 Nginx 的配置文件中加入一些配置项,可以输出 PHP 的错误日志文件。一般情况下, 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";
}
...
}
...
}只有当访问 URL 以 .php 结尾时,才会应用该配置项,即使用 location ~ .php$。在 fastcgi_pass 中设置了 PHP FastCGI 服务器的地址和端口。fastcgi_param 用于设置 PHP 的参数,其中 SCRIPT_FILENAME 指定 PHP 脚本的路径和文件名。使用默认的 FastCGI 参数,需要在 Nginx 中包含 fastcgi_params。最后一行添加了 fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";,表示将 PHP 的错误信息记录到 /var/log/nginx/php_errors.log 文件中。
创建日志文件
创建一个日志文件用于记录 PHP 的错误信息,这是在配置完 Nginx 后所需的步骤。假设我们要将日志文件保存到 /var/log/nginx/php_errors.log,可以使用以下命令创建文件:
sudo touch /var/log/nginx/php_errors.log
然后使用以下命令修改文件的属主和权限:
立即学习“PHP免费学习笔记(深入)”;
漂亮的企业网站。NET2.0出来了, 本次升级修改如下: 1、优化了3层结构。 2、优化了后台管理代码,增强了安全性能。 3、增加了系统名称及关键字管理。 4、增加了系统错误日志记录,自动生成Systemlog.log日志文件。 备注:本系统采用ASP.NET 2.O+ACCESS开发,请调试的朋友安装.NET2.0运行环境! 网站内容 网站栏目包括 首页|企业简介|新闻中心|产品展示|公司展示|
sudo chown nginx:nginx /var/log/nginx/php_errors.log sudo chmod 644 /var/log/nginx/php_errors.log
测试
测试时,可以创建一个 PHP 脚本并出现错误,例如:
将这个脚本保存为 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










