-1

我们的生产服务器是 PHP 5.5.24。我需要的包 ( vlucas/dotenv) 在其 composer.json 中需要:

"symfony/polyfill-ctype": "^1.17"

不幸的是,symfony 包的 1.20 版本需要 7.1,这导致 Composer 的平台检查失败。我不能忽略错误/平台检查,因为它会导致 PHP 5.5 出现语法错误。

似乎这不适用于子依赖项,仅适用于包本身:

"config": {
    "platform": {
        "php": "5.5.24"
    }
}

我已经完全删除了该vendor文件夹并进行了全新安装。升级服务器不是一种选择。

4

1 回答 1

2

您可以只需要一个显式版本的包而没有任何额外的约束,这将锁定其他依赖项。

手动添加"symfony/polyfill-ctype": "1.17"到您的 composer.json 文件,或composer require symfony/polyfill-ctype:1.17从命令行使用。

我会警告您,这可能会在您将来升级时让您头疼,因此请确保将其记录在某个地方。具体来说,您或其他人将来会查看代码并说“我们甚至没有使用它”,然后将其删除。

于 2022-01-25T19:26:14.857 回答