这是我的问题:我已经将一个复杂的应用程序升级到 PHP 7.4,是的,我没有进行足够彻底的测试。
现在我想使用较旧的 PHP 版本运行任务,但它无法解析我所有的供应商文件。这是错误和行。这是 PHP 7.4 的一个新特性。
PHP 解析错误:语法错误,意外的“?”,在第 25 行的 .\vendor\sentry\sentry\src\functions.php 中需要变量 (T_VARIABLE)
function captureMessage(string $message, ?Severity $level = null): ?string
到目前为止,我认为 Composersvendor\autoload.php
仅在需要时才在供应商目录中加载类和函数。不会加载未使用的类,因此不会加载用 PHP 7.4 编写的违规文件。
不幸的是,我注意到,这require_once('./vendor/autoload.php')
足以看到解析错误。是否可以以某种方式配置 Composer,它不会预加载供应商文件,而是仅在请求类或函数时才加载它们?