les*_*gar 2 php doctrine laravel composer-php
我doctrine/dbal在我的 PHP 项目中使用(v2.4.*) 包。我的生产服务器运行 PHP v5.6。
我composer update今天早上跑了更新我的composer.lock文件。现在,当我部署到生产环境时,我看到:
Problem 1
- Installation request for doctrine/inflector v1.2.0 -> satisfiable by doctrine/inflector[v1.2.0].
- doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.14) does not satisfy that requirement.
Problem 2
- doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.6.14) does not satisfy that requirement.
- doctrine/common v2.4.3 requires doctrine/inflector 1.* -> satisfiable by doctrine/inflector[v1.2.0].
- Installation request for doctrine/common v2.4.3 -> satisfiable by doctrine/common[v2.4.3].
Run Code Online (Sandbox Code Playgroud)
具体这些:
学说/通用 v2.4.3 需要学说/变形器 1.* -> 可通过学说/变形器 [v1.2.0] 满足。
学说/inflector v1.2.0 需要 php ^7.0 -> 您的 PHP 版本 (5.6.14) 不满足该要求
这意味着,即使dbal是旧的,它也需要最新的common,并且common需要最新的inflector包。问题是inflector启动依赖PHP7来运行。
Composer 中是否有任何方法可以将软件包的更新限制为特定 PHP 版本支持的软件包?就像说:“请尽可能更新,但前提是服务器的 PHP 版本足够。”
使用文件中的platform选项composer.json来定义您的生产环境正在使用的 PHP 版本,如下所示:
{
"config": {
"platform": {
"php": "5.6.14"
}
}
}
Run Code Online (Sandbox Code Playgroud)
见https://getcomposer.org/doc/06-config.md#platform
| 归档时间: |
|
| 查看次数: |
2803 次 |
| 最近记录: |