Yii 1.1.8 报错不显示行号,如何定位花括号数组字符串偏移语法废弃问题
解决方案
1. 开启报错行号显示配置
1.1 开发环境全局配置(php.ini)
- 找到你环境的
php.ini配置文件,修改以下参数:display_errors = On error_reporting = E_ALL - 修改完成后重启对应的Web服务(Apache/Nginx/PHP-FPM)即可生效
1.2 项目临时配置(无需修改php.ini)
直接在Yii 1.1.8项目的入口文件index.php最开头添加以下代码:
<?php ini_set('display_errors', 1); error_reporting(E_ALL); // 开启Yii内置调试模式,会额外输出调用栈和对应行号 defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);
配置后刷新触发报错的页面,就能看到完整的报错文件路径、行号以及调用栈信息。
2. 快速定位目标报错
你遇到的Array and string offset access syntax with curly braces is deprecated是PHP 7.4及以上版本弃用了花括号访问数组/字符串偏移的语法导致的,开启报错行号后也可以直接全局搜索项目代码中形如$var{$key}的写法,统一替换为$var[$key]即可修复该问题。
内容的提问来源于stack exchange,提问作者Andre
相关产品推荐
相关产品推荐

