stepan_sib
@stepan_sib
head, hands, hard working, contracts

Как создать нормальное dev-окружение для PHP разработки на ОС Windows?

Всем доброго дня, господа.

Шли годы, я кодил на PHP в PhpStorm, в качестве дев-сервера использовал Wamp Open Server. Разработка проектов на Symfony шла себе спокойно и шла.
Но пришло время освоить пачку новых технологий, как то Vagrant, Bower, Grunt и прочее, где требуется Node.js и прочие вещи, под виндой нормально не живущие. И тут начались потуги:
  • Ставлю VirtualBox, поднимаю гостевую ОС Ubuntu 12 LTS, настраиваю там все-все-все. Работает, ок.
    IDE запущена на хост-машине (Винда7), папка проекта средствами VirtualBox Shared Folders синхронизируется с DocumentRoot веб-сервера на виртуалке. И как только я начинаю работать с Symfony проектом - получаются страшные задержки. Страницы рендерятся в лучшем случае по 6 секунд. Покурил блоги и статьи, вынес кеш и логи симфони за пределы шареной директории, отключил XDebug и потюнил Apache и PHP. Все равно - 2-3 секундны на открытие страницы минимум. Это очень некомфортно.
  • Ставлю Vagrant, генерю конфиг на puphpet.com. История повторяется, ибо используется тот же VirtualBox и его Shared Folder.

Кто как справляется с этим? Или вообще уйти с Винды на Макось или Убунту? Но тоже нельзя, ибо 50% времени занимаюсь разработкой под IBM Lotus.
Купить второй ноут? Как вариант, но не очень хочется.

UPD
Ну или, может, кто-то знает рецепт, как беспроблемно синхронизировать директорию веб-проекта между хост-системой и виртуалкой в обе стороны? Чтобы скорость была нормальная.
  • Вопрос задан
  • 4082 просмотра
Решения вопроса 4
@E_STRICT
Главное правило – храните все файлы в гостевой системе.
Проекты с большим количеством файлов будут тормозить и в Линуксе если эти файлы хранятся на основной системе. Да и логически это более правильно, держать файлы и базы данных в одном месте.

PHPStorm умеет работать с файлами по SFTP. Если это не подходит, то для windows есть всякие проприетарные решения (платные и бесплатные) для монтирования удаленных файловых систем.

P.S. Используйте Вагрант даже если перейдете на Линукс или OS X.
Ответ написан
zo0m
@zo0m
full stack developer
За Варгант не скажу, но NodeJS норм под винду. Пользуюсь различными пакетами и горя не знаю.

----- UPDATE

Итого по результатам треда:

для синхронизации Хостовой и Гостевой предлагаю воспользоваться Grunt-ом
Пример таски (только нужно повыкидывать лишнее): https://gist.github.com/zo0m/70f8ede3af64d9285fe4
Ответ написан
@Leshgan
У меня похожая ситуация с Pavel Shvedov. Тоже Ubuntu Server LTS на VBox, только я еще сделал чтобы эта виртуальная машина запускалась как служба, то есть не висит программа и не отвлекает. Работаю в PhpStorm через SFTP, еще использую программу WinSCP для SFTP доступа к Ubuntu.

получаются страшные задержки.

Может быть сам комп тормозной? Попробуйте поставить SSD диск.
Ответ написан
stepan_sib
@stepan_sib Автор вопроса
head, hands, hard working, contracts
В итоге добавил памяти, поставил SSD, провозился пару дней с настройкой Vagrant для Symfony и в итоге родил это: https://github.com/stepansib/symphpet
Стало гораздо лучше
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
nazarpc
@nazarpc
Open Source enthusiast
А что если хранить файлы в виртуалке, и заходить через Samba? PhpStorm нормально через Samba работает.
К стати, у вас сеть 1 Gpbs стоит в настройках виртуалки?

Перейти на Ubuntu было бы проще всего, Windows в таком случае можно засунуть как раз в виртуалку.
Ответ написан
Комментировать
@serega_kaktus
Программист-самоучка, фрилансер
Поставьте ubuntu как вторую ось и перезагружайтесь, когда надо. А если купить ssd, перезагрузка + открытие/закрытие приложений займет не больше минуты
Ответ написан
говорят, под винду надо специально тип синхронизации выбирать.
docs.vagrantup.com/v2/synced-folders/smb.html
Ответ написан
mmmaaak
@mmmaaak
Я диких тормозов не замечал, мой сценарий немногим отличается от вашего. Я поставил на VBox Ubuntu Server последний LTS, вместо Apache использую NGinx, папку проекта открываю на хост машине через SFTP встроенный в IDE (более менее мне понравились Netbeans и Komodo Edit), Synfony не использую, пишу на Python + Django + WSGI, проблем с тормозами рендера страниц не замечаю
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы