web-dev-qa-db-ja.com

Symfony2、コンポーザー、「c​​onfig.platform.php」バージョン(5.3.9)によってオーバーライドされたPHPバージョン(5.6.18)は要件を満たしていません

私はプロジェクトにdoctrine=をインストールしようとしています。間違った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 ..> composer require doctrine/data-fixtures

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.

Composer.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",
29

composer.jsonのどこかにあります

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

そのブロックは、現在のPHP composer doc で説明されているバージョンをオーバーライドします。

83
Valentas

Composer.jsonで、次の行を削除します。

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

composerのプラットフォーム設定 を参照してください。

33
chalasr

doctrine 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"

},
0
Muhammed M.