You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

前端AJAX调用PHP文件时error_log无输出的原因排查

问题:AJAX请求能收到PHP输出但看不到error_log日志?

我通过前端JS发起了AJAX请求:

const xhttp = new XMLHttpRequest(); 
xhttp.open("POST", (window.location.origin + "/wordpress/wp-content/plugins/um-jogging-platform/core/umjp-removeData.php"), true); 
xhttp.send(); 

对应的PHP文件umjp-removeData.php代码如下:

<?php 
error_log('test'); 
echo 1 + 1; 

目前的情况是:能正常收到计算结果2,但始终看不到error_log('test')生成的日志,这是什么原因?


可能的原因及排查方案

  • 日志路径不明确:WordPress环境下,error_log的默认输出位置不一定是你预期的地方。你可以临时在PHP文件里加一行echo ini_get('error_log');,发起AJAX请求后查看返回值,就能精准定位日志文件的位置,避免在错误的文件里白费功夫~
  • 错误日志功能未启用:检查PHP配置中的log_errors是否设为On,以及error_reporting的级别是否足够。你可以在PHP文件开头强制开启日志功能试试:
    <?php
    error_reporting(E_ALL);
    ini_set('log_errors', 1);
    error_log('test');
    echo 1 + 1;
    
  • 权限不足:日志所在的目录或文件没有写入权限。服务器的Web进程用户(比如Apache的www-data、Nginx的nginx用户)需要拥有日志目录的写入权限。可以检查日志目录的权限设置,必要时调整权限。
  • 日志缓冲机制:部分服务器的日志会采用缓冲写入,不会实时刷新到文件。你可以等待几分钟,或者重启Web服务(如Apache/Nginx)后再查看日志文件。
  • WordPress日志配置覆盖:WordPress自带的日志系统可能会覆盖PHP默认日志设置。可以查看wp-config.php文件中是否定义了WP_DEBUG_LOG,如果开启了这个配置,日志可能会输出到wp-content/debug.log文件中,不妨去那里找找看。

内容的提问来源于stack exchange,提问作者Willem van der Veen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:56:57