nginx中如何输出php错误日志文件

发布时间 - 2023-05-18 00:00:00    点击率:

配置 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

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

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-2025 20:52:42 UTC] PHP Warning:  Division by zero in /usr/share/nginx/html/test.php on line 2


# php  # nginx  # 错误信息  # 创建一个  # 配置文件  # 这是  # 你可以  # 才会  # 当你  # 将其  # 所需  # 可以使用 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么上传文件_Laravel图片上传及存储配置  详解jQuery中的事件  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  Laravel如何实现用户密码重置功能?(完整流程代码)  音响网站制作视频教程,隆霸音响官方网站?  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何在Windows 2008云服务器安全搭建网站?  如何快速生成凡客建站的专业级图册?  PHP 500报错的快速解决方法  在Oracle关闭情况下如何修改spfile的参数  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  如何在宝塔面板中创建新站点?  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel Docker环境搭建教程_Laravel Sail使用指南  如何用PHP工具快速搭建高效网站?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何用wdcp快速搭建高效网站?  北京的网站制作公司有哪些,哪个视频网站最好?  如何获取PHP WAP自助建站系统源码?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何在万网ECS上快速搭建专属网站?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  三星、SK海力士获美批准:可向中国出口芯片制造设备  WEB开发之注册页面验证码倒计时代码的实现  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  如何注册花生壳免费域名并搭建个人网站?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  JavaScript如何实现倒计时_时间函数如何精确控制  Laravel如何生成URL和重定向?(路由助手函数)  Laravel怎么连接多个数据库_Laravel多数据库连接配置  利用 Google AI 进行 YouTube 视频 SEO 描述优化  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  高端网站建设与定制开发一站式解决方案 中企动力  Android滚轮选择时间控件使用详解  中山网站推广排名,中山信息港登录入口?  如何用AI帮你把自己的生活经历写成一个有趣的故事?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  如何快速查询网址的建站时间与历史轨迹?  zabbix利用python脚本发送报警邮件的方法  网站页面设计需要考虑到这些问题  网站建设整体流程解析,建站其实很容易!  Android利用动画实现背景逐渐变暗  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册