PHP Composer を高速化する方法を簡単にまとめました

カテゴリ: PHP

記事投稿日: 2017年1月11日




便利ですが、重たい PHP のパッケージマネージャの Composer を、とても早くできる方法をまとめました。

結論から言うと、ご紹介するコマンドを2回たたくだけで、次のことが可能になります。

・Composer の通常通信: 地球220周分の通信 -> 2周分までにおさえられる
・Composer の通常通信: シングルスレッドの通信 -> プラグインで、並列ダウンロードできる

1. 日本にあるミラーサイトを以下のコマンドで有効化する

composer config -g repos.packagist composer https://packagist.jp


解除する場合

composer config -g --unset repos.packagist

2. 通信を curl に変更し、並列ダウンロードできるようにする

composer global require "hirak/prestissimo:^0.3"


解除する場合

composer global remove hirak/prestissimo

「PHPカンファレンス関西2016」で発表された資料の手順を抜粋し、最新化したものです(2017年1月現在)。


『Composerを速くするために必要だったもの』
https://speakerdeck.com/hirak/composer-keynote|

何をしているか、ざっくり説明します。

composer のリポジトリは、フランスにあります。
アジア圏は物理的に、約8,000km も離れています。
また、さまざまな通信的成約から、通常、地球220周分もの通信が行われるため遅くなっている、ということです。
そこで、このリポジトリのミラーサイトを日本に作ってくれたのが、資料の作成者である hirak さんです。
このミラーサイトを経由すれば、地球220周分→ 2周分までに物理的な距離が削減されます。

また、composer の通信はシングルスレッドなのですが、curl で並列ダウンロードさせるためのプラグインを作ってくれたのが、またまた hirak さんです。
GitHub でのスターは2300を超え、いまや世界の hirak と呼ばれているそうです。
気に入られたら、GitHubの https://github.com/hirak/prestissimo で star を押してあげましょう。
既に2400近いstarが集まっていて、PHP界ではかなり盛り上がっています。

昨年(2016年)のカンファレンスでこの資料があがってから、すごい、と感激したものの、なかなか実行にうつせませんでした。
あと、スライドで紹介されている、プラグイン導入のコマンドが現在は古くなっているので、更新しています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


profile_img

ウェブ・プログラマー。
PHP, jQuery, Bootstrap が好き。
家族3人で兵庫県三木市に在住。
散歩と映画が好きです。

GitHubアカウント

follow us in feedly


無料で常時SSL化できるサーバです
PHP7も使えてオススメ!

profile_img

ウェブ・プログラマー。
PHP, jQuery, Bootstrap が好き。
家族3人で兵庫県三木市に在住。
散歩と映画が好きです。

GitHubアカウント

follow us in feedly

記事検索


トップに戻る