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

如何在Laravel Valet中配置项目专属PHP错误日志?

当然可以搞定!Valet虽然默认用Nginx+PHP-FPM,但完全能实现像Apache那样给每个项目单独配置PHP错误日志的需求。我整理了两种实用方法,你可以根据自己的情况选:

方法1:为单个Laravel项目配置独立错误日志

如果只想给某一个项目单独设置,用Valet的自定义站点配置最方便:

  • 先在你的Laravel项目根目录下创建.valet文件夹(没有的话直接建):
    mkdir .valet
    
  • 在这个文件夹里新建nginx.conf文件,写入以下内容:
    location ~ \.php$ {
        fastcgi_param PHP_VALUE "error_log=${DOCUMENT_ROOT}/storage/logs/php_errors.log";
    }
    
    这里${DOCUMENT_ROOT}会自动指向你的项目根目录,storage/logs/php_errors.log是日志存放路径——你也可以改成直接放在项目根目录的php_errors.log,看你偏好。
  • 配置写完后,重启Valet让设置生效:
    valet restart
    
  • 最后别忘了给日志目录开写入权限,比如用Laravel默认的storage/logs的话:
    chmod -R 775 storage/logs
    
    如果服务器用户是www-data,也可以用这个命令授权:
    chown -R www-data:www-data storage/logs
    

方法2:全局配置所有Valet项目的PHP错误日志

要是想让所有Valet托管的项目都自动把PHP错误日志写到各自的项目目录,就改PHP-FPM的全局配置:

  • 先找到PHP-FPM的配置文件,Valet用的是Homebrew安装的PHP,路径大概是/usr/local/etc/php/{你的PHP版本}/php-fpm.d/www.conf(比如PHP 8.2就是/usr/local/etc/php/8.2/php-fpm.d/www.conf)。
  • 打开文件后,找到php_admin_value[error_log]这一行,先把它注释掉(前面加个;),然后添加下面的配置:
    php_value[error_log] = $document_root/php_errors.log
    
    同样,你可以把路径改成$document_root/storage/logs/php_errors.log,让日志和Laravel的应用日志放在一起。
  • 保存文件后,重启PHP-FPM服务:
    brew services restart php@{你的PHP版本}
    
    比如PHP 8.2就执行brew services restart php@8.2
  • 同样要确保目标目录有写入权限哦。

验证配置

配置完成后,你可以在项目里写一行测试代码:

error_log("测试PHP错误日志写入");

然后去对应的日志文件里查看,应该能看到这条测试信息就说明配置成功啦!

内容的提问来源于stack exchange,提问作者Joel Jerushan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:39:23