てぃーだブログ › iiiso の海。時々、セントレア。宵のうち、システム開発。 › 【PHP / Symfony2】 › 【PHP】Composer で League/Csv をインストール

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 をインストールする。


【PHP】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 ]




同じカテゴリー(【PHP / Symfony2】)の記事

上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。