Использование Symfony с Homestead/Vagrant

Использование Symfony с Homestead/Vagrant

Для того, чтобы разработать приложение Symfony, вы можете захотеть использовать виртуальное окружение разработки вместо встроенного сервера или WAMP/LAMP. Homestead - это простой в использовании Vagrant, чтобы быстро получить и запустить виртуальное окружение.

Tip

В связи с количеством операций файловой системы в Symfony (например, обновление файлов кеша и запись файлов логов), Symfony модет существенно замедлиться. Чтобы улучшитьс скорость, рассмотрите вариант переопределения каталогов логов и кеша в локацию вне NFS (например, используя sys_get_temp_dir). Вы можете проситеть эту запись блога, чтобы получить больше советов об ускорении Symfony в Vagrant.

Установите Vagrant и Homestead

Перед тем, как вы сожете использовать Homestead, вам нужно установить и сконфигурировать Vagrant и Homestead так, как объявняется в документации Homestead.

Монтаж приложения Symfony

Представьте, что вы установили ваше приложение Symfony в ~/projects/symfony_demo в вашей локальной системе. Для начала вам нужно, чтобы Homestead синхронизировал ваши файлы в этом проекте. Выполните homestead edit, чтобы редактировать конфигурацию Homestead и сконфигурируйте каталог~/projects:

1
2
3
4
# ...
folders:
    - map: ~/projects
      to: /home/vagrant/projects

К каталогу projects/ на вашем ПК теперь можно получить доступ в /home/vagrant/projects в окружении Homestead.

После того, как вы это сделали, сконфигурируйте приложение Symfony в конфигурации Homestead:

1
2
3
4
5
# ...
sites:
    - map: symfony-demo.dev
      to: /home/vagrant/projects/symfony_demo/web
      type: symfony

Опция type говорит Homestead использовать конфигурацию Symfony nginx.

Наконец, отредактипруйте файлы хоста на вашей локальной машине, чтобы провести маршрут от symfony-demo.dev к 192.168.10.10 (что является IP, используемым Homestead):

1
2
# /etc/hosts (unix) or C:\Windows\System32\drivers\etc\hosts (Windows)
192.168.10.10 symfony-demo.dev

Теперь, перейдите на http://symfony-demo.dev в вашем веб-браузере и нслаждайтесь разработкой вашего приложения Symfony!

See also

Чтобы узнать о других функциях Homestead, включая интеграцию профилировщика Blackfire, автоматическое создание DB MySQL и др., читайте раздел Повседневное использование в документации Homestead.