问题重现
{
"message": "Trying to access array offset on value of type null",
"status_code": 500,
"debug": {
"line": 205,
"file": "/vendor/扩展B/Info.php",
"class": "ErrorException",
"trace": [
"#0 /vendor/扩展B/Info.php(205): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Trying to acces...', '/vendor/...', 205)",
"#1 /vendor/扩展B/Tpl.php(53): \Info::workflowInfo(54, 'contract', Array)",
…………
"#49 {main}"
]
}
}
出现原因
主要原因是版本7.4以后PHP解析器会对null类型的下标访问直接报错
背景:
laravel框架
同时使用了扩展A和扩展B
扩展A要求 php>=7.4,同时扩展B的对null类型的下标访问不兼容php7.4
解决问题
修改扩展B不太现实,毕竟扩展B中有太多的对null类型的下标访问。
一劳永逸修改法,平时开发中不推荐使用
app/Providers/AppServiceProvider.php
boot
方法里面添加 error_reporting (E_ERROR);