Trying to access array offset on value of type null

问题重现

{
    "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);

posted @ 2022-03-14 22:46  为牧  阅读(11481)  评论(0编辑  收藏  举报