我在composer.json
中得到了这个要求:
"php": ">= 5.6",
"symfony/http-foundation": "^3.0"
该配置的问题是它将安装paragonie/random_compat
v9.99.99,它只与PHP 7及更高版本兼容。但问题是我不希望我的composer.lock
文件需要PHP 7,我希望它仍然与PHP 5.6兼容。
我找到的解决方案是跟踪哪个包提取了这种依赖关系,一旦我找到它,我就把它添加到我的要求中:
"paragonie/random_compat": "~2.0"
但我想知道是否有更好的方法可以做到这一点:不知何故告诉我接受PHP 5.6以上的所有版本,但我不接受会强制使用PHP 7的软件包?
如果你想让composer.lock
与PHP 5.6兼容,你至少有两个选择来实现:
composer update
- 您应该能够在您的操作系统上安装多个版本的PHP并运行Composer,如下所示:
/path/to/php6.5 /path/to/composer update
platform
中的composer.json
设置强制安装特定版本,无论用于运行Composer命令的PHP版本如何:
"config": {
"platform": {
"php": "5.6.38"
}
},