Я пытаюсь установить доктрину в свой проект. Я получаю ошибку о неправильной версии 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 требует доктрины / данные-светильники
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, как описано в документе doc .
В вашем composer.json удалите следующие строки:
// ... "config": { "platform": { "php": "5.3.9" } }, // ...
См. Конфигурацию платформы в композиторе .
Я использую миграцию доктрины с Symfony 2.7
В моем композиторе.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" },