2016年05月01日
【PHP】Composer で League/Csv をインストール
PHP フレームワーク Symfony2 で CSV ファイルのダウンロード機能を使いたかったので、Composer で League/Csv をインストールした。
■構築環境
Windows 8.1 (64bit)
PHP 5.6.21 (VC11 x64 Thread Safe ) [ php-5.6.21-Win32-VC11-x64.zip / ダウンロード ]
Symfony 2.7.11
■ League/Csv のインストール
Git からダウンロードする方法もあるが、わずらわしい依存関係をチェックできる Composer を使って League/Csv をインストールする。
コマンドプロンプトで Composer を起動すると、PHP バージョン 5.3.9 には対応してないというメッセージが出る。・・・ League/Csv は PHP 5.5 以上が必要なんだけど。
使用中のPHP バージョンは 5.6.21 なのに、ナゼだか 5.3.9 が原因になっているらしい。
試しに League/Csv のバージョンを現時点の最新版 8.0 を指定して、もう一度 Composer を起動してみる。
「your PHP version (5.6.21) overriden by "config.platform.php" version (5.3.9) 」って何っすか???
"config.platform.php" とは? composer.json の config キーに指定されてる PHP のことらしい。
composer.json から「 platform.php 」を除外し、もう一度、Composer を起動。
無事、インストール成功。league/csv のバージョンを指定していなくても最新版がインストールされるらしい。
composer.json に残っていた「"config.platform.php" version (5.3.9) 」は、おそらく Symfony2.7 Standard Edition をインストールしたときに作られたものと思われる。
参考にしたサイト
[ Setting config.platform.php setting to hardcoded 5.3.9 causes issues #933 ]
[ Symfony2, composer, your PHP version (5.6.18) overriden by “config.platform.php” version (5.3.9) does not satisfy requirement ]
■構築環境
Windows 8.1 (64bit)
PHP 5.6.21 (VC11 x64 Thread Safe ) [ php-5.6.21-Win32-VC11-x64.zip / ダウンロード ]
Symfony 2.7.11
■ League/Csv のインストール
Git からダウンロードする方法もあるが、わずらわしい依存関係をチェックできる Composer を使って League/Csv をインストールする。
コマンドプロンプトで Composer を起動すると、PHP バージョン 5.3.9 には対応してないというメッセージが出る。・・・ League/Csv は PHP 5.5 以上が必要なんだけど。
C:\symfony > php composer.phar require league/csv
[InvalidArgumentException]
Could not find package league/csv at any version matching your PHP version 5.3.9.0
使用中のPHP バージョンは 5.6.21 なのに、ナゼだか 5.3.9 が原因になっているらしい。
試しに League/Csv のバージョンを現時点の最新版 8.0 を指定して、もう一度 Composer を起動してみる。
C:\symfony > php composer.phar require league/csv:^8.0
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for league/csv 8.0 -> satisfiable by league/csv[8.0.0].
- league/csv 8.0.0 requires php >=5.5.0 -> your PHP version (5.6.21) overriden by "config.platform.php" version (5.3.9) does not satisfy that requirement.
「your PHP version (5.6.21) overriden by "config.platform.php" version (5.3.9) 」って何っすか???
"config.platform.php" とは? composer.json の config キーに指定されてる PHP のことらしい。
[composer.json]
・
・
config": {
"bin-dir": "bin",
"platform": {
"php": "5.3.9"
}
},
・
・
composer.json から「 platform.php 」を除外し、もう一度、Composer を起動。
[composer.json] ・ ・ config": { "bin-dir": "bin" }, ・ ・ C:\symfony > php composer.phar require league/csv Updating dependencies (including require-dev) - Installing league/csv (8.0.0) Downloading: 100%
無事、インストール成功。league/csv のバージョンを指定していなくても最新版がインストールされるらしい。
composer.json に残っていた「"config.platform.php" version (5.3.9) 」は、おそらく Symfony2.7 Standard Edition をインストールしたときに作られたものと思われる。
参考にしたサイト
[ Setting config.platform.php setting to hardcoded 5.3.9 causes issues #933 ]
[ Symfony2, composer, your PHP version (5.6.18) overriden by “config.platform.php” version (5.3.9) does not satisfy requirement ]
Posted by iiiso at 17:09│Comments(0)
│【PHP / Symfony2】