trae 中 PHP 的 display_errors 默认关闭,需手动开启:修改 /usr/local/etc/php/{版本}/php.ini 将 display_errors = On 和 error_reporting = E_ALL;或项目根目录建 .user.ini 同样配置,无需重启但仅限本目录生效。
display_errors 默认是关的trae 自带的 PHP 环境(通常是 PHP 7.4/8.0+)默认关闭了 display_errors,

trae 的 PHP 配置文件路径固定,改它就能全局生效,比在代码里用 ini_set() 更彻底(尤其对 Parse Error 这类语法错误无效)。
/usr/local/etc/php/{版本号}/php.ini(例如 /usr/local/etc/php/8.1/php.ini)display_errors,把这一行改成:display_errors = On
error_reporting 没被设成 0,建议设为:error_reporting = E_ALL
trae restart 或点击桌面端「重启」按钮不想动全局配置?在项目根目录放一个 .user.ini 文件(注意开头是点),内容写:
display_errors = On error_reporting = E_ALL
trae 的 PHP-FPM 默认支持 .user.ini,修改后无需重启,但要注意:
.user.ini
开了 display_errors 却发现错误信息混在页面源码里、被 包着,大概率是开启了输出缓冲。查 php.ini 中:
output_buffering = Off(推荐开发时关闭)output_buffering = 0(数值 0 表示禁用)这个细节容易被忽略,尤其是从生产环境复制配置过来时,output_buffering 常被设成 4096 或 On。