Vagrant — единое окружение для разработки

Преамбула

Данная мини-статья является отсылкой к созданию более правильного окружения для разработки.

В современном мире WEB-разработки, разработчики уже давно перестали устанавливать окружение для разработки: PHP, WEB-сервер, СУБД и т.д. на свой локальный компьютер, на котором производят разработку.

Во-первых, установка и настройка занимает драгоценное время и силы.

Во-вторых, если разработчик работает на нескольких компьютерах (компьютер в офисе, дома, ноутбук), то достаточно проблематично настроить идентичное окружение везде и синхронизировать его настройку между всеми своими компьютерами. Эта проблема называется проблемой идентичности состояния, когда предполагается, что состав, версии и конфигурация всего ПО должна быть максимально идентичной.

В-третьих, если вы не один разработчик, то еще тяжелее поддерживать идентичность окружения на всех ваших компьютерах и на всех компьютерах ваших коллег. Здесь поддержать идентичное состояние еще сложней, так как от вас уже почти ничего не зависит.

В четвертых, состояние окружения вашего рабочего компьютера скорее всего не совпадает и не может совпадать с состоянием окружения вашего боевого (продакшн) сервера. Ведь у вас же Windows со всеми его причудами в конфигурировании, а на боевом сервере что-то однозначно другое.

В конечном итоге, если вы продолжите устанавливать окружение для разработки на свой локальный компьютер, то поймаете себя на мысли, что половина вашего рабочего времени проходит в попытках синхронизировать настройки окружения, а состояние вашей локальной операционной системы очень быстро превратится в свалку.

Избежать этого хаоса вам поможет виртуализация окружения разработки. Вам нужна виртуальная машина, которая бы разворачивалась по заданному вами сценарию, чтобы ее можно было развернуть одним кликом на любом компьютере под любой операционной системой. Пока вы будете пить кофе, ваша виртуальная машина будет готова. Также вам нужны какие-то средства для быстрого и простого управления такой виртуальной машиной (запуск, остановка, реконфигурация). И еще было бы здорово, если бы в файловой системе этой виртуальной машины был каталог, который отображался с каталога вашей локальной машины. Например, чтобы каталог локальной машины D:\myProjects, где хранятся ваши проекты, соответствовал каталогу виртуальной машины /var/myProjects или подобному. Еще хотелось бы иметь возможность выполнять настоящую отладку с использованием PHP-xDebug, причем приложение должно выполняться в виртуальной среде, на виртуальной машине, а управлять им вы могли с локальной. Уже нравится? Идем дальше! Читать далее Vagrant — единое окружение для разработки

Laravel homestead Windows не запускается? Есть решение!

При установке laravel/homestead под Win10 столкнулся с проблемой запуска виртуальной машины. В консоли VirtualBox красовалась надпись, говорящая об ожидании сетевого подключения:

[    ***] A start job is running for Raise network interfaces (40s / 5 min)

В командной строке Windows, из которой запустили vagrant up, через несколько минут после старта возникала ошибка:

Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

Причем на этой же рабочей машине работают другие vagrant-коробки вполне успешно. Читать далее Laravel homestead Windows не запускается? Есть решение!

XDebug Vagrant не подключается к PhpStorm Windows — РЕШЕНО

Если Вы используете XDebug в окружении Vagrant под ОС Windows, то наверняка столкнулись с проблемой, при которой XDebug не может подключиться к Вашему PhpStorm. Данную проблему может решить отключение брандмауэра Windows, но это не всегда приемлемо.

Эта проблема возникает вследствие того, что брандмауэр Windows считает виртуальные интерфейсы VirtualBox небезопасной сетью и блокирует входящие подключения (мое мнение).

Решить этот вопрос правилами брандмауэра мне так и не удалось. Но был найден способ, который сработал. Читать далее XDebug Vagrant не подключается к PhpStorm Windows — РЕШЕНО

RedMine + BitBucket git

В данной статье будет описана связка системы управления проектами RedMine + BitBucket. Я опишу достаточно примитивный способ — подключение зеркала репозитория BitBucket, так как ни один из найденных мной плагинов для RedMine не заработал.

Так как RedMine по умолчанию может работать только с локальными репозиториями, то мы организуем зеркало (выполним клонирование с ключом --mirror) репозитория с BitBucket на локальный сервер с RedMine, а затем подключим его как локальный к проекту.

Также мы будем периодически выполнять git fetch --all -p, чтобы синхронизировать наше зеркало с репозиторием.

Итак. Приступим. Читать далее RedMine + BitBucket git

Yii2 интернационализация PHP, db, gettext начальная настройка

Не найдя простого руководства по инициализации процесса интернационализации и немного разобравшись во всем самостоятельно, я решил опубликовать простую пошаговую инструкцию, которая к концу написания стала не такой уж и простой.

Речь пойдет только об инициализации самого процесса. Сам же процесс отлично описан в официальном полном руководстве по Yii2. Прочитайте, пожалуйста, официальное руководство прежде чем продолжить. Читать далее Yii2 интернационализация PHP, db, gettext начальная настройка

Установка Apache 2.4VC14 + PHP 7 на Windows 7 ­- 10

Данная инструкция служит дополнением к инструкции по установке Apache 2.4VC11 и PHP 5.6 и описывает лишь отличительные моменты, которые касаются установки Apache24 и PHP7 на Windows. Описание установки СУБД MySQL остается прежним и не повторяется в этой инструкции.

Прежде чем продолжить чтение, обратите внимание на то, действительно ли вам необходимо устанавливать и настраивать всё это под Windows?Может быть Вам стоит обратить внимание на быстрый способ развернуть более качественное окружение для разработки под Windows, основанное на виртуализации Vagrant и не тратить свое время и нервы на настройку того же самого напрямую в Windows? В любом случае, прочтите статью про Vagrant. Возможно она сэкономит вам не только время, но и здоровье.

Данная инструкция рассчитана на разработчиков с базовыми знаниями Apache и PHP. В данной инструкции будут описана только разница в установке Apache и PHP с основной инструкцией по установке PHP 5.6. Если Вы не в курсе, что такое WEB-сервер, http-протокол и интерпретатор PHP, то Вы всегда можете узнать об этом более подробно, прочитав документацию.

Я не буду отвечать в комментариях на вопросы, ответ на которые есть в этой или основной инструкциях, ссылка на основную инструкцию указана в первом абзаце, а так же на вопросы, которые касаются понимания работы Apache и PHP и уж тем более на вопросы по ошибкам в разработке. Для этого существуют соответствующие ресурсы, литература, форумы, курсы. Однако, Вы всегда можете задать любой интересующий Вас вопрос. Возможно, кто-то из сообщества сможет Вам помочь.

Итак, поехали! Читать далее Установка Apache 2.4VC14 + PHP 7 на Windows 7 ­- 10

Релиз PHP 7. Что нового

Вышел долгожданный релиз PHP 7. К разработке PHP 7 подошли очень ответственно — релиз должен был выйти ещё 12 ноября, но вместо этого незапланировано выпустили дополнительный кандидат RC 7 (с исправлением 17 багов) и отвели две недели на тестирование. Затем, 26 ноября, выпустили ещё один кандидат RC 8, исправляющий 11 багов, с неделей на тестирование.

Ниже — неполный список улучшений и нововведений: Читать далее Релиз PHP 7. Что нового

Разработка WEB-приложений в Yii 2 — Отзыв

Так как мои отзывы почему-то не проходят модерацию в книжных магазинах, хотя я знаю почему, решил оставить отзыв в своем блоге. Может быть кому-то сэкономлю деньги и нервы.

IMG_20150907_095624

Речь пойдет о книге Марка Сафронова Разработка WEB-приложений в Yii 2

Дата выхода: 30 апреля 2015 года
Формат: 148 × 210 мм
Бумага: офсетная
Обложка: Мягкая обложка
Объем, стр.: 392
ISBN: 978-5-97060-252-2
Издательство: ДМК-пресс

Хочу отметить, что книга в издательстве стоит 649 рублей, а в онлайн магазинах Украины 500 грн.

Крайне не рекомендую данную книгу к покупке! Читать далее Разработка WEB-приложений в Yii 2 — Отзыв

Установка Apache 2.4 + PHP 5.6 + MySQL 5.6 на Windows 7 ­- 10

В статье описывается установка Apache 2.4 + PHP 5.6 + MySQL 5.6 на операционную систему Windows 7 / 8 / 8.1 / 10

Прежде чем продолжить чтение, обратите внимание на то, действительно ли вам необходимо устанавливать и настраивать всё это под Windows?Может быть Вам стоит обратить внимание на быстрый способ развернуть более качественное окружение для разработки под Windows, основанное на виртуализации Vagrant и не тратить свое время и нервы на настройку того же самого напрямую в Windows? В любом случае, прочтите статью про Vagrant. Возможно она сэкономит вам не только время, но и здоровье.

Данная инструкция будет полезна начинающим WEB-разработчикам, которые собираются установить на своем ПК с ОС Windows WEB-сервер Apache с интерпретатором PHP последних версий. Конечно же, намного проще установить сборку, наподобие Denwer или прибегнуть к использованию инсталляторов и не париться по поводу настроек. Однако каждый WEB-разработчик обязан понимать процесс работы WEB-сервера, процесс его установки и настройки.

Если Вы хотите установить PHP 7, то обратитесь пожалуйста к этой статье.

Если в процессе сборки сервера по этой инструкции Вы столкнулись с проблемами и все еще считаете себя WEB-разработчиком, то будет правильным шагом разобраться в возникших проблемах, а не писать в комментарии что инструкция говно. Инструкция рабочая. Проверено временем и сотнями инсталляций. Будьте внимательней при выполнении простых шагов. Выполнение шагов вручную и разбор ситуаций, если не заработало, добавит Вам skill как разработчику. Если Вы не WEB-разработчик и не планируете им быть, то подыщите простой способ установки в интернете — данная инструкция не для Вас.

Обратите внимание, что под Windows XP данные версии VC11 запустить будет невозможно (или крайне затруднительно).
Читать далее Установка Apache 2.4 + PHP 5.6 + MySQL 5.6 на Windows 7 ­- 10