Советы PHP-разработчика

Блог содержащий короткие заметки касающиеся программирования для web.

Ускорение скорости загрузки composer пакетов с помощью hirak/prestissimo

Буквально на днях наткнулся на замечательный пакет, который позволяет распараллелить загрузку при установке и обновлении проекта через composer. Пакет стоящий и действительно работающий. Сейчас я о нем немного расскажу.

Вот тут находится страница проекта на github. Описание скудновато, но не это главное.

Устанавливается все это дело очень просто. Достаточно выполнить

composer global require hirak/prestissimo

На этом все. Пакет настроен и готов к использованию. Для большей эффективности можно настроить все под себя.

Престиссимо имеет ряд настроек, которые вы можете изменить, как глобально для всех проектов, так и выборочно. Это следующие параметры:

  • maxConnections - максимальное количество соединений
  • minConnections - минимальное количество соединений
  • pipeline - jопция конвеера HTTP/1.1. Требует наличия PHP >= 5.5
  • verbose - настройка CURLOPT_VERBOSE
  • insecure - если включено, то не проверяет https сертификаты. Не рекомендуется менять эту настройку
  • capath - абсолютный путь до cacert.pem
  • userAgent - юзер-агент, который указывается при скачивании пакетов. Если не задано, то используется юзер-агент от composer
  • privatePackages - список приватных пакетов. Если заполнено, то для данных пакетов будет отключен локальный "редиректор" с api.github.com на codeload.github.com

Для конфигурирования необходимо отредактировать секцию config в локальном composer.json или создать/отредактировать файл ~/.composer/config.json. Этим вы сконфигурируете пакет локально или глобально соответственно.

Для себя я увеличил максимальное количество подключений и активировав pipeline. Вот пример моего файла config.json:

{
	"config": {
		"prestissimo": {
			"maxConnections": 10,
			"minConnections": 3,
			"pipeline": true
		}
	}
}
  • 2016-01-31 21:33:24