D:\phpstudy_pro\Extensions\php\php7.2.9nts\php.exe yii serve --port=80
运行后提示:Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
定位到 PHP 7.2 的 php.ini 中启用了已弃用的 track_errors。正在注释该行。
max_input_vars=3000
track_errors=On
; track_errors 已在 PHP 7.2 起弃用、PHP 8.0 起移除,开启会产生 Deprecated 提示
;track_errors=On
error_log=D:/phpstudy_pro/Extensions/php/php7.2.9nts.log
CLI Server
; Whether the CLI web server uses ANSI color coding in its terminal output.
原因
track_errors 在 PHP 7.2 起已弃用,在 PHP 8.0 起已从语言里删掉。
三丰云提示里的 Unknown on line 0 一般表示:是 免费云主机php.ini 在加载时 启用了该指令,而不是你项目里某一行代码。
在你本机 PhpStudy 的 PHP 7.2 配置里有一行:
D:\phpstudy_pro\Extensions\php\php7.2.9nts\php.ini 第 926 行附近的 track_errors=On。
已做修改
已把该行改成注释(并加了简短说明),等价于不再启用 track_errors。用该 7.2 跑 php yii serve 或站点时不应再刷这条 Deprecated。
若仍出现
确认网站实际用的 PHP 版本:小皮面板里站点绑定的可能是别的版本,对应 ...\phpX.x.xnts\php.ini 里若还有 track_errors=On,同样注释掉即可。
改 ini 后重启:重启 Apache/Nginx 或 PHP 服务,让配置生效。
说明:Yii2 工程里没有设置 track_errors,不必改业务代码。