🐘
[PHP][composer] install を4分から45秒に高速化する例
published_at: 2019-04-16 07:11
(調整前) 4m8.477s
(調整後) 45s
の改善に成功。
環境
- macOS Mojave 10.14.4
- PHP 7
- Composer version 1.8.5 2019-04-09 17:46:47
- Docker version 18.09.2, build 6247962
- docker-compose version 1.23.2, build 1110ad01
ポイント
- docker コンテナ内でなく ホストOS側で composer install を済ませる
- 高速化モジュール(に限らないと思われる)は packagist のリポジトリ取得先を packagist.jp に変える前に入れる
Dockerfile で言うと
対応手順
- (1) composer.json・composer.lock のあるインストールに移動
cd /path/to/dir[composer.json exists]
- (2) ホストOSに composer のインストール
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
- (3) 高速化モジュールのインストール
composer global require hirak/prestissimo
- (4) packagist リポジトリ 参照先の変更
composer config -g repositories.packagist composer http://packagist.jp
- (5) ホストOS で
composer install
- 時間計測するなら
time composer install
- 時間計測するなら
- (6) docker-compose コマンド等でコンテナ起動
情報
- [PHP]Composerのパフォーマンス向上のために行うべき6つの事 : 2018年1月13日
- 逆引き!Composer コマンド・ライン一覧 : 2019年04月02日に更新
-
PHPのcomposer使い方とautoloaderの高速化
- production では考慮した方が良さそう
- [mac]php composerのインストール方法 : 2019年03月17日に更新
Note
- config のリセット
composer config -g --unset repositories.packagist
- config の確認
composer config --list
Discussion