プロキシ環境下で新しく開発環境構築するときに、いつもcomposer関連で調べる羽目になってつらみなのでメモ。windows7です。
composer.phar取得
curl -S http://getcomposer.org/installer | php
Sオプションはエラーメッセージを表示するだけなので無くても大丈夫。
ここでタイムアウトする場合、OSの環境変数に
変数名:HTTP_PROXY
値:http://<プロキシサーバ名>:<port>
を設定すればOK。(linuxだったら~/.bashrcにexport HTTP_PROXY=http://
プロキシサーバ名とかポートがわからんというときはIEのツール→接続タブ→LANの設定のプロキシサーバのところに書いてあったりなかったりします。認証付きだとhttp://<ユーザID>:<パスワード>@
設定したら環境変数の適用のために一度コマンドプロンプトを閉じて、もう一度開く。その後、
$ curl -S http://getcomposer.org/installer | php
とすればめでたくcomposer.pharをgetできるはずです。*1
パッケージの取得
環境変数が設定できればプロキシも越えられて大満足魔神かと思いきや、ときたまzipballなんちゃらでこけたりします。
例:
[Composer\Downloader\TransportException] The "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e9168 49d48e3a51d5f5e278b" file could not be downloaded (HTTP/1.0 400 Bad Request)
こちらの記述によると環境変数に
変数名:HTTP_PROXY_REQUEST_FULLURI
(またはHTTPS_PROXY_REQUEST_FULLURI)
値:false
を追加すれば良いらしい。ということで設定後、
$ php composer.phar install
とすればめでたくインストールできました。
余談ですが、composerの公式サイトにちゃんと色々書いてあるのに今更気が付きました。キャッシュ消したいと思った時も、キャッシュディレクトリがデフォルトでどこに設定されるかなど細かく書いてあったし、composer関係でつまったらまず公式読もう(結論)