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

如何在Homebrew的PHP Formula中启用错误日志?

解决Homebrew PHP 7.4错误日志不生成的问题

1. 确认修改的是Web环境对应的php.ini

Homebrew安装的PHP会区分CLI和FPM(Web服务依赖)的配置,你修改的/opt/homebrew/etc/php/7.4/php.ini可能是CLI版本的配置,并非WordPress运行时加载的文件。

  • 先确认当前Web环境加载的php.ini路径:在主题functions.php中添加phpinfo();,访问站点后找到「Loaded Configuration File」项,查看实际生效的配置文件路径。
  • 如果是PHP-FPM环境,需检查/opt/homebrew/etc/php/7.4/php-fpm.d/www.conf中的php_admin_value[error_log]配置,该项会覆盖php.ini的全局设置。

2. 修复日志文件权限

Mac上Web服务的运行用户通常是_www,需确保日志目录和文件具备写入权限:

  • 修改Sites文件夹权限:
    sudo chmod -R 755 /Users/samuelbacay/Sites
    sudo chown -R _www:_www /Users/samuelbacay/Sites
    
  • 也可手动创建日志文件后赋予权限:
    touch /Users/samuelbacay/Sites/php_errors.log
    sudo chown _www:_www /Users/samuelbacay/Sites/php_errors.log
    

3. 确保PHP日志配置生效并重启服务

修改配置后需重启PHP-FPM服务,同时确认php.ini关键配置未被注释:

  • 重启Homebrew PHP-FPM服务:
    brew services restart php@7.4
    
  • 检查php.ini中以下配置:
    error_reporting = E_ALL
    display_errors = Off
    log_errors = On
    error_log = /Users/samuelbacay/Sites/php_errors.log
    
    注意:不要注释error_log行,否则PHP会使用默认路径或停止记录。

4. 排查WordPress自身日志设置

WordPress的wp-config.php若开启WP_DEBUG_LOG,会优先将日志写入wp-content/debug.log,忽略PHP全局配置:

  • 打开wp-config.php检查是否存在:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    
    若存在,可注释WP_DEBUG_LOG,或直接到wp-content/debug.log中查看日志内容。

5. 验证error_log函数是否正常触发

先写一个简单测试脚本放在Sites目录,访问后确认日志生成:

<?php
error_log('测试错误日志');
echo '日志已尝试写入';
?>

若测试脚本能生成日志,说明PHP配置无问题,需排查post_thumbnail_class过滤函数是否未触发,或$image_path变量存在异常。

内容的提问来源于stack exchange,提问作者Samuel Bacay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:05:07