この問題に関する多くの投稿を見つけましたが、私の質問は異なると思います (特に私の環境)。
Windows 7、Symfony 2.3.6、および wamp 2.2 を使用しています。
FOSUserBundle をダウンロードしてインストールしたい:
php composer.phar update friendsofsymfony/user-bundle
(明らかに一般的な)エラーがあります:
symfony/icu v1.2.0 requires lib-icu >= 4.4
Installation request for symfony/icu == 1.2.0.0 -> satisfiable by symfony icu[v1.2.0]
明らかに、私はすでに symfony/icu のバージョン 1.2 を持っています。
とにかく更新しようとしました:
php composer.phar update symfony/icu
しかし、以前のバージョン (1.0.0) をインストールしたかったのです。なぜ ?
だから私は1.2.0を保持しました
icu は PHP の intl 拡張で提供されていることがわかりました。オンです。
私はこれを持っているphpinfoを起動します:
intl
Internationalization support enabled
version 1.1.0
ICU version 4.6.1
ICU Data version 4.6
Directive Local Value Master Value
intl.default_locale fr_utf8 fr_utf8
intl.error_level 2 2
つまり、4.6 は >= 4.4 です。問題ないはずです。
なにが問題ですか ?
どうすれば解決できますか?
注:composer.jsonは変更しませんでしたが、追加したいバンドルを追加するためのrequireセクションは変更しませんでした
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.3.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "*"
注2:
多分これは関連しています:httpsを使用してcomposerでダウンロードしようとすると、例外があります:
You must enable the openssl extension to download files via https
問題は、私のphp_opensslがアクティブになっていることです...
そのため、拡張機能がアクティブ化されていても、composer が拡張機能を認識しない可能性があります (openssl も intl もおそらく)...わかりません