Would you like to try reinstalling the package instead

Во время выполнения composer install может произойти пренеприятнейшее извещение: Would you like to try reinstalling the package instead [yes]? При вводе yes и ещё некоторых сообщениях может случиться ошибка: [RuntimeException] Source directory has unpushed changes on the current branch Хорошего решения из коробки для этой проблемы я не нашёл. Однако, есть […]

Как в docker-compose выполнить комманду с пайпами и перенаправлением вывода

Когда лень входить в терминал контейнера, а выполнить какие-то действия в нём нужно, то можно воспользоваться лайфхаком и запустить команду через вызов docker-compose exec: docker-compose exec -u appuser appcontainer command args —options=values Однако, если логика вашей команды подразумевает конвейерную обработку или запись вывода команды в файл внутри контейнера, то подобные […]

Как в docker-compose exec разово задать переменную окружения

Тоже достаточно повседневная задача — выполнить какую-либо команду в bash разово задав переменную окружения меняющую поведение данной команды. Например, в командной строке это может выглядеть так: SYMFONY_ENV=prod composer install —no-dev Однако, если выполнить это через docker-compose exec docker-compose exec -u app php SYMFONY_ENV=prod composer install —no-dev возникнет ошибка:

Как в Symfony 3.4 принудительно закрыть соединение с MySQL

Достаточно частая ситуация, когда скрипт закончил всю работу с базой и переходит к какой-то длительной обработке данных. В такой ситуации соединение с БД остаётся открытым, но никто им не пользуется, в результате чего при большой нагрузке другие клиенты могут получить ошибку: MySQL: ERROR 1040: Too many connections Незадачливый амин или […]

Работа с build arguments в docker-compose и Dockerfile

Как только вы сталкиваетесь с разворачиванием одного проекта на несколько окружений, моментально возникает необходимость использовать аргументы для сборки docker-контейнеров. Например, для разработки и тестирования нужно использовать одни лицензионные ключи, а для продакшена — другие. К счастью, сообщество Докера это предусмотрела и существует удобное решение этого вопроса.

Как в PHP composer подменить пакет на свой репозиторий

По сути это продолжение статьи как сделать git fork из github в bitbucket, т.к. одно из другого крайне бессмысленно. Допустим, есть какая-то хорошая публичная библиотека на github, нов ней есть фатальный недостаток, который автор библитеки не хочет, не может и не будет исправлять. При этом архитектура библиотеки такова, что нельзя […]

Как сделать git fork из github в bitbucket

Довольно частая задача — сделать форк какой-либо библиотеки с github и разместить её в приватном репозитории в bitbucket, gitlab или ещё где. Чаще всего это нужно в тех ситуациях, когда нужно самостоятельно внести правки в исходную библиотеку, но по каким-то причинам в основной  публичный репозиторий это попасть не должно. Собственно, […]

Создание консольной команды CLI в Symfony 3.4

В отличии от Laravel, в Symfony создание консольных команд доведено до абсурда. Чтобы создать заготовку команды нужно выполнить: php bin/console generate:command MyBundle command:name Где нужно указать имя бандла в котором будет создана команда и имя команды, по которому она будет вызываться. Если запустить generate:command без аргументов, то в интерактивном режиме будут […]

Как быстро проверить работоспособность прокси

Как проверить прокси в консоли Linux curl —proxy «user:pass@host:port» https://google.com Такой способ сработает в любом Linux-дистрибутиве с установленной библиотекой Curl. Также этот вариант будет работать в MacOs и даже Windows в cygwin! Однако, может возникнуть ошибка: curl: (77) error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none Если знаете как […]