Symfony2,作曲家,您的PHP版本(5.6.18)被"config.platform.php"版本(5.3.9)覆盖不满足要求



我正在尝试将教义安装到我的项目中。我收到有关错误的PHP版本的错误。可以做些什么来消除此错误的真正原因?克服它的方法是使用选项" --ignore-platform-reqs "如 https://getcomposer.org/doc/03-cli.md#require 所述。

PHP

版本: PHP 5.6.18

PHP 5.6.18  (cli) (built: Feb  3 2016 17:20:21)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

错误:c..>作曲家需要学说/数据固定装置

Using version ^1.1 for doctrine/data-fixtures
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - doctrine/migrations v1.3.0 requires php ^5.5|^7.0 -> your PHP version (5.6
.18) overriden by "config.platform.php" version (5.3.9) does not satisfy that re
quirement.
    - doctrine/migrations v1.2.2 requires php >=5.4.0 -> your PHP version (5.6.1
8) overriden by "config.platform.php" version (5.3.9) does not satisfy that requ
irement.
    - doctrine/migrations v1.2.1 requires php >=5.4.0 -> your PHP version (5.6.1
8) overriden by "config.platform.php" version (5.3.9) does not satisfy that requ
irement.
    - doctrine/migrations v1.2.0 requires php >=5.4.0 -> your PHP version (5.6.1
8) overriden by "config.platform.php" version (5.3.9) does not satisfy that requ
irement.
    - doctrine/migrations v1.1.0 requires php >=5.4.0 -> your PHP version (5.6.1
8) overriden by "config.platform.php" version (5.3.9) does not satisfy that requ
irement.
    - doctrine/migrations v1.0.0 requires php >=5.4.0 -> your PHP version (5.6.1
8) overriden by "config.platform.php" version (5.3.9) does not satisfy that requ
irement.
    - Installation request for doctrine/migrations ~1.0 -> satisfiable by doctri
ne/migrations[v1.0.0, v1.1.0, v1.2.0, v1.2.1, v1.2.2, v1.3.0].

Installation failed, reverting ./composer.json to its original content.

作曲家.json 的内容

"require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.8.*",
    "doctrine/orm": "^2.4.8",
    "doctrine/doctrine-bundle": "~1.4",
    "doctrine/data-fixtures" : "~1.1",
    "doctrine/doctrine-fixtures-bundle": "dev-master",

在你composer.json的某个地方你有

"config": {
   "preferred-install": "dist",
   "platform": {
       "php": "5.3.9"
   }
}

该块将覆盖您当前的 PHP 版本,如作曲家文档中所述。

在 composer.json 中,删除以下行:

// ...
"config": {
    "platform": {
        "php": "5.3.9"
    }
},
// ...

请参阅作曲器中的平台配置。

我刚刚遇到了同样的问题(在做" composer install "时)。

但是更改配置不是一种选择(由于办公室的存储库冲突),因此我想出了以下解决方案。

全局配置文件(或忽略 PHP 版本)

建议只伪造和/或配置"~/.composer/config.json"文件(或Windows的"%AppData%/Composer/config.json"文件)中的PHP版本,如:

{
    "config": {
        "platform":{
            "php":"5.5"
        }
    }
}

哪个作曲家可以在composer.lock文件中缓存,例如:

{
   ...
   "platform-overrides": {
       "php": "5.5"
   }
}

但我们也可以忽略它,例如:

composer install --ignore-platform-reqs

我在Symfony 2.7中使用教义迁移

在我的 composer.json 中,我注意到你没有,你可以尝试添加它

"doctrine/doctrine-migrations-bundle": "^1.0"

我按照 Symfony2 文档手动安装了迁移,您可以在此处阅读。

这是我的整个2.7 Symfony作曲家:

"require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.7.*",
    "doctrine/orm": "~2.2,>=2.2.3,<2.5",
    "doctrine/dbal": "<2.5",
    "doctrine/doctrine-bundle": "~1.4",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~4.0",
    "sensio/framework-extra-bundle": "~3.0,>=3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "friendsofsymfony/user-bundle": "1.3.*@dev",
    "ircmaxell/password-compat": "^1.0",
    "sonata-project/block-bundle": "2.3.*@dev",
    "sonata-project/easy-extends-bundle": "^2.1",
    "sonata-project/datagrid-bundle": "~2.2@dev",
    "sonata-project/admin-bundle": "~2.3@dev",
    "sonata-project/doctrine-orm-admin-bundle": "~2.3@dev",
    "sonata-project/user-bundle": "~2.3@dev",
    "doctrine/doctrine-migrations-bundle": "^1.0"
},

我在使用 laravel 7.4 时遇到了这个问题,但我之前使用的是 Laravel 8.2。所以,我不得不从composer.json中删除这些行。谢谢查拉斯。现在它又工作正常了。

"配置":{"平台":{"php": "8.2.0"}},

最新更新