Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Composer:防止更新需要更高PHP版本的包_Php_Laravel_Doctrine_Composer Php - Fatal编程技术网

Composer:防止更新需要更高PHP版本的包

Composer:防止更新需要更高PHP版本的包,php,laravel,doctrine,composer-php,Php,Laravel,Doctrine,Composer Php,我在PHP项目中使用的是doctrine/dbal(v2.4.*)包。我的生产服务器运行PHPV5.6 今天早上我运行了composer update,更新了我的composer.lock文件。现在,当我部署到生产环境时,我看到: Problem 1 - Installation request for doctrine/inflector v1.2.0 -> satisfiable by doctrine/inflector[v1.2.0]. - doctrine/in

我在PHP项目中使用的是
doctrine/dbal
(v2.4.*)包。我的生产服务器运行PHPV5.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].
具体而言:

条令/通用v2.4.3要求条令/拐点1.*->条令/拐点可满足[v1.2.0]

条令/拐点v1.2.0需要php^7.0->您的php版本 (5.6.14)不满足该要求

这意味着,即使
dbal
是旧的,它也需要最新的
common
,而
common
需要最新的
inductor
包。问题是
拐点
根据要运行的PHP7启动


Composer中是否有任何方法将包的更新限制为特定PHP版本支持的包?比如说:“请尽可能地更新,但只有在服务器的PHP版本足够时才更新。”

使用
composer.json
文件中的
platform
选项定义生产环境使用的PHP版本,如下所示:

{
    "config": {
        "platform": {
            "php": "5.6.14"
        }
    }
}

请参见

是否可以使用拐点1.1?或者转到common 2.7.3,或者您可以转到dbal 2.5.13您的意思是我不仅应该直接要求
原则/dbal
,而且还应该要求
common
屈折因子
?如果
dbal
已经需要它们,这有意义吗?您可以需要dbal,但只需将版本放到2.5.13我使用的
dbal
版本是
2.4.
。所以,它是旧的。但由于它在内部需要最新的软件包,所以不管它有多旧。try
composer-require-doctor/indlector:1.1.0
“允许您伪造平台软件包(PHP和扩展),以便您可以模拟生产环境或在配置中定义目标平台”。听起来有些东西不是专门为生产设计的。我想在我尝试之前我无法确定。作为替代方案,请仅在尽可能靠近生产系统的环境中运行
composer require
composer update
、和
composer install
。这个答案非常棒。。。谢谢