Laravel Homestead
- Вступление
- Установка и настройка
- Обновление Homestead
- Ежедневное использование
- Отладка и профилирование
- Сетевые интерфейсы
- Расширение Homestead
- Настройки для конкретного провайдера
Вступление
Laravel стремится сделать весь опыт разработки PHP восхитительным, включая вашу локальную среду разработки. Laravel Homestead — это официальная, предварительно упакованная коробка Vagrant, которая предоставляет вам прекрасную среду разработки без необходимости установки PHP, веб-сервера и любого другого серверного программного обеспечения на ваша локальная машина.
Vagrant предоставляет простой и элегантный способ управления виртуальными машинами и их подготовки. Бродячие ящики полностью одноразовые. Если что-то пойдет не так, Вы можете уничтожить и воссоздать коробку за считанные минуты!
Homestead работает в любой системе Windows, macOS или Linux и включает Nginx, PHP, MySQL, PostgreSQL, Redis, Memcached, Node и все другое программное обеспечение, необходимое для разработки потрясающих приложений Laravel.
{note} Если Вы используете Windows, Вам может потребоваться включить аппаратную виртуализацию (VT-x). Обычно это можно включить в BIOS. Если Вы используете Hyper-V в системе UEFI, Вам может потребоваться дополнительно отключить Hyper-V, чтобы получить доступ к VT-x.
Включенное программное обеспечение
Дополнительное программное обеспечение
Установка и настройка
Первые шаги
Перед запуском среды Homestead Вы должны установить Vagrant, а также одного из следующих поддерживаемых поставщиков:
Все эти программные пакеты предоставляют простые в использовании визуальные установщики для всех популярных операционных систем.
Чтобы использовать поставщика Parallels, вам необходимо установить плагин Parallels Vagrant. Это бесплатно.
Установка Homestead
Вы можете установить Homestead, клонировав репозиторий Homestead на свой хост-компьютер. Рассмотрите возможность клонирования репозитория в папку Homestead
в вашем «домашнем» каталоге, поскольку виртуальная машина Homestead будет служить хостом для всех ваших приложений Laravel. В этой документации мы будем называть этот каталог вашим «каталогом Homestead»:
git clone https://github.com/laravel/homestead.git ~/Homestead
После клонирования репозитория Laravel Homestead Вы должны проверить ветку release
. Эта ветка всегда содержит последний стабильный выпуск Homestead:
cd ~/Homestead git checkout release
Затем выполните команду bash init.sh
из каталога Homestead, чтобы создать файл конфигурации Homestead.yaml
. В файле Homestead.yaml
Вы настраиваете все параметры для установки Homestead. Этот файл будет помещен в каталог Homestead:
// macOS / Linux...bash init.sh // Windows...init.bat
Настройка Homestead
Настройка вашего провайдера
Ключ provider
в вашем файле Homestead.yaml
указывает, какой провайдер Vagrant следует использовать: virtualbox
или parallels
:
provider: virtualbox
{note} If you are using Apple Silicon, you should add
box: laravel/homestead-arm
to yourHomestead.yaml
file. Apple Silicon requires the Parallels provider.
Настройка общих папок
Свойство folders
файла Homestead.yaml
перечисляет все папки, которыми Вы хотите поделиться со своей средой Homestead. При изменении файлов в этих папках они будут синхронизироваться между Вашим локальным компьютером и виртуальной средой Homestead. Вы можете настроить столько общих папок, сколько необходимо:
folders: - map: ~/code/project1 to: /home/vagrant/project1
{note} Пользователи Windows не должны использовать синтаксис пути
~/
, а вместо этого должны использовать полный путь к своему проекту, напримерC:\Users\user\Code\project1
.
Вы всегда должны сопоставлять отдельные приложения с их собственным сопоставлением папок вместо сопоставления одного большого каталога, содержащего все Ваши приложения. При сопоставлении папки виртуальная машина должна отслеживать все операции ввода-вывода на диске для каждого файла в папке. У Вас может снизиться производительность, если в папке много файлов:
folders: - map: ~/code/project1 to: /home/vagrant/project1 - map: ~/code/project2 to: /home/vagrant/project2
{note} Вы никогда не должны монтировать
.
(текущий каталог) при использовании Homestead. Это приводит к тому, что Vagrant не отображает текущую папку в/vagrant
, что нарушает работу дополнительных функций и приводит к неожиданным результатам во время подготовки.
Чтобы включить NFS, Вы можете добавить параметр type
в сопоставление папок:
folders: - map: ~/code/project1 to: /home/vagrant/project1 type: "nfs"
{note} При использовании NFS в Windows Вам следует подумать об установке плагина vagrant-winnfsd. Этот плагин будет поддерживать правильные права пользователя / группы для файлов и каталогов на виртуальной машине Homestead.
Вы также можете передать любые параметры, поддерживаемые Синхронизировавшие папки Vagrant, указав их под ключом options
:
folders: - map: ~/code/project1 to: /home/vagrant/project1 type: "rsync" options: rsync__args: ["--verbose", "--archive", "--delete", "-zz"] rsync__exclude: ["node_modules"]
Настройка сайтов Nginx
Не знаком с Nginx? Без проблем. Свойство sites
вашего файла Homestead.yaml
позволяет вам легко сопоставить "домен" с папкой в вашей среде Homestead. Пример конфигурации сайта включен в файл Homestead.yaml
. Опять же, вы можете добавить столько сайтов в среду Homestead, сколько необходимо. Homestead может служить удобной виртуализированной средой для каждого приложения Laravel, над которым вы работаете:
sites: - map: homestead.test to: /home/vagrant/project1/public
Если Вы измените свойство sites
после подготовки виртуальной машины Homestead, Вы должны выполнить команду vagrant reload --provision
в своем терминале, чтобы обновить конфигурацию Nginx на виртуальной машине.
{note} Скрипты Homestead построены так, чтобы быть максимально идемпотентными. Однако, если у Вас возникли проблемы во время подготовки, Вы должны уничтожить и перестроить машину, выполнив команду
vagrant destroy && vagrant up
.
Разрешение имени хоста
Homestead публикует имена хостов, используя mDNS
для автоматического разрешения хостов. Если Вы установите hostname: homestead
в Вашем файле Homestead.yaml
, хост будет доступен по адресу homestead.local
. Настольные дистрибутивы macOS, iOS и Linux по умолчанию включают поддержку mDNS
. Если Вы используете Windows, Вы должны установить Bonjour Print Services для Windows.
Использование автоматических имен хостов лучше всего подходит для установок для каждого проекта Homestead. Если Вы размещаете несколько сайтов на одном экземпляре Homestead, Вы можете добавить «домены» для своих веб-сайтов в файл hosts
на Вашем компьютере. Файл hosts
будет перенаправлять запросы для Ваших сайтов Homestead на Вашу виртуальную машину Homestead. В macOS и Linux этот файл находится в /etc/hosts
. В Windows он находится в C:\Windows\System32\drivers\etc\hosts
. Строки, которые Вы добавляете в этот файл, будут выглядеть следующим образом:
192.168.56.56 homestead.test
Убедитесь, что в списке указан IP-адрес, указанный в Вашем файле Homestead.yaml
. После того, как Вы добавили домен в свой файл hosts
и запустили окно Vagrant, Вы сможете получить доступ к сайту через свой веб-браузер:
http://homestead.test
Настройка сервисов
По умолчанию Homestead запускает несколько сервисов; однако Вы можете настроить, какие службы будут включены или отключены во время подготовки. Например, Вы можете включить PostgreSQL и отключить MySQL, изменив параметр services
в файле Homestead.yaml
:
services: - enabled: - "postgresql" - disabled: - "mysql"
Указанные службы будут запускаться или останавливаться в зависимости от их порядка в директивах enabled
и disabled
.
Запуск коробки Vagrant
После того как Вы отредактировали файл Homestead.yaml
по своему вкусу, запустите команду vagrant up
из каталога Homestead. Vagrant загрузит виртуальную машину и автоматически настроит Ваши общие папки и сайты Nginx.
Чтобы уничтожить машину, Вы можете использовать команду vagrant destroy --force
.
Установка в проект
Вместо того, чтобы устанавливать Homestead глобально и использовать одну и ту же виртуальную машину Homestead для всех Ваших проектов, Вы можете вместо этого настроить экземпляр Homestead для каждого проекта, которым Вы управляете. Установка Homestead для каждого проекта может быть полезной, если Вы хотите отправить файл Vagrantfile
вместе с Вашим проектом, позволяя другим работающим над проектом vagrant up
сразу после клонирования репозитория проекта.
Вы можете установить Homestead в свой проект с помощью диспетчера пакетов Composer:
composer require laravel/homestead --dev
После установки Homestead вызовите команду Homestead make
, чтобы сгенерировать файлы Vagrantfile
и Homestead.yaml
для Вашего проекта. Эти файлы будут помещены в корень Вашего проекта. Команда make
автоматически настроит директивы sites
и folders
в файле Homestead.yaml
:
// macOS / Linux...php vendor/bin/homestead make // Windows...vendor\\bin\\homestead make
Затем запустите команду vagrant up
в Вашем терминале и войдите в свой проект по адресу http://homestead.test
в Вашем браузере. Помните, что Вам все равно нужно будет добавить запись файла /etc/hosts
для homestead.test
или домена по вашему выбору, если вы не используете автоматическое разрешение имени хоста.
Установка дополнительных функций
Дополнительное программное обеспечение устанавливается с помощью опции features
в Вашем файле Homestead.yaml
. Большинство функций можно включить или отключить с помощью логического значения, в то время как некоторые функции допускают несколько параметров конфигурации:
features: - blackfire: server_id: "server_id" server_token: "server_value" client_id: "client_id" client_token: "client_value" - cassandra: true - chronograf: true - couchdb: true - crystal: true - docker: true - elasticsearch: version: 7.9.0 - eventstore: true version: 21.2.0 - gearman: true - golang: true - grafana: true - influxdb: true - mariadb: true - meilisearch: true - minio: true - mongodb: true - neo4j: true - ohmyzsh: true - openresty: true - pm2: true - python: true - r-base: true - rabbitmq: true - rvm: true - solr: true - timescaledb: true - trader: true - webdriver: true
Elasticsearch
Вы можете указать поддерживаемую версию Elasticsearch, которая должна быть точным номером версии (major.minor.patch). При установке по умолчанию будет создан кластер с именем «homestead». Никогда не следует отдавать Elasticsearch больше половины памяти операционной системы, поэтому убедитесь, что на Вашей виртуальной машине Homestead выделено как минимум вдвое больше памяти Elasticsearch.
{tip} Ознакомьтесь с документацией Elasticsearch, чтобы узнать, как настроить свою конфигурацию.
MariaDB
Включение MariaDB удалит MySQL и установит MariaDB. MariaDB обычно служит заменой MySQL, поэтому Вам все равно следует использовать драйвер базы данных mysql
в конфигурации базы данных Вашего приложения.
MongoDB
При установке MongoDB по умолчанию для имени пользователя базы данных будет установлено значение homestead
, а для соответствующего пароля - secret
.
Neo4j
При установке Neo4j по умолчанию для имени пользователя базы данных будет задано homestead
, а для соответствующего пароля secret
. Чтобы получить доступ к браузеру Neo4j, зайдите на сайт http://homestead.test:7474
в своем браузере. Порты 7687
(Bolt), 7474
(HTTP), and 7473
(HTTPS) готовы обслуживать запросы от клиента Neo4j.
Псевдонимы
Вы можете добавить псевдонимы Bash на свою виртуальную машину Homestead, изменив файл aliases
в каталоге Homestead:
alias c='clear'alias ..='cd ..'
После того, как Вы обновили файл aliases
, Вы должны повторно подготовить виртуальную машину Homestead с помощью команды vagrant reload --provision
. Это обеспечит доступность Ваших новых псевдонимов на машине.
Обновление Homestead
Прежде чем начать обновление Homestead, Вы должны убедиться, что удалили текущую виртуальную машину, выполнив следующую команду в каталоге Homestead:
vagrant destroy
Затем Вам нужно обновить исходный код Homestead. Если Вы клонировали репозиторий, Вы можете выполнить следующие команды в том месте, где Вы изначально клонировали репозиторий:
git fetch git pull origin release
Эти команды извлекают последний код Homestead из репозитория GitHub, извлекают последние теги, а затем проверяют последний выпуск с тегами. Вы можете найти последнюю стабильную версию выпуска на странице выпусков GitHub Homestead.
Если вы установили Homestead через файл composer.json
вашего проекта, вы должны убедиться, что ваш файл composer.json
содержит "laravel/homestead": "^12"
и обновите ваши зависимости:
composer update
Затем Вы должны обновить поле Vagrant с помощью команды vagrant box update
:
vagrant box update
После обновления окна Vagrant Вы должны запустить команду bash init.sh
из каталога Homestead, чтобы обновить дополнительные файлы конфигурации Homestead. Вас спросят, хотите ли Вы перезаписать существующие файлы Homestead.yaml
, after.sh
и aliases
:
// macOS / Linux...bash init.sh // Windows...init.bat
Наконец, вам нужно будет регенерировать вашу виртуальную машину Homestead, чтобы использовать последнюю версию Vagrant:
vagrant up
Ежедневное использование
Подключение через SSH
Вы можете подключиться к своей виртуальной машине по SSH, выполнив команду терминала vagrant ssh
из каталога Homestead.
Добавление дополнительных сайтов
После того, как Ваша среда Homestead подготовлена и запущена, Вы можете добавить дополнительные сайты Nginx для других Ваших проектов Laravel. Вы можете запускать столько проектов Laravel, сколько хотите, в одной среде Homestead. Чтобы добавить дополнительный сайт, добавьте его в свой файл Homestead.yaml
.
sites: - map: homestead.test to: /home/vagrant/project1/public - map: another.test to: /home/vagrant/project2/public
{note} Вы должны убедиться, что Вы настроили сопоставление папок для каталога проекта, прежде чем добавлять сайт.
Если Vagrant не управляет Вашим файлом «hosts» автоматически, Вам может потребоваться также добавить новый сайт в этот файл. В macOS и Linux этот файл находится в /etc/hosts
. В Windows он находится в C:\Windows\System32\drivers\etc\hosts
:
192.168.56.56 homestead.test192.168.56.56 another.test
После добавления сайта выполните команду терминала vagrant reload --provision
из каталога Homestead.
Типы сайтов
Homestead поддерживает несколько «типов» сайтов, которые позволяют легко запускать проекты, не основанные на Laravel. Например, мы можем легко добавить приложение Statamic в Homestead, используя тип сайта statamic
:
sites: - map: statamic.test to: /home/vagrant/my-symfony-project/web type: "statamic"
Доступные типы сайтов: apache
, apigility
, expressive
, laravel
(по умолчанию), proxy
, silverstripe
, statamic
, symfony2
, symfony4
и zf
.
Параметры сайта
Вы можете добавить дополнительные значения Nginx fastcgi_param
на свой сайт с помощью директивы сайта params
:
sites: - map: homestead.test to: /home/vagrant/project1/public params: - key: FOO value: BAR
Переменные среды
Вы можете определить глобальные переменные среды, добавив их в свой файл Homestead.yaml
:
variables: - key: APP_ENV value: local - key: FOO value: bar
После обновления файла Homestead.yaml
не забудьте повторно подготовить машину, выполнив команду vagrant reload --provision
. Это обновит конфигурацию PHP-FPM для всех установленных версий PHP, а также обновит среду для пользователя vagrant
.
Порты
По умолчанию в среду Homestead перенаправляются следующие порты:
- HTTP: 8000 → перенаправляет на 80
- HTTPS: 44300 → перенаправляет на 443
Перенаправление дополнительных портов
Если хотите, Вы можете перенаправить дополнительные порты в поле Vagrant, указав конфигурационную запись ports
в Вашем файле Homestead.yaml
. После обновления файла Homestead.yaml
не забудьте повторно подготовить машину, выполнив команду vagrant reload --provision
:
ports: - send: 50000 to: 5000 - send: 7777 to: 777 protocol: udp
Below is a list of additional Homestead service ports that you may wish to map from your host machine to your Vagrant box:
- SSH: 2222 → To 22
- ngrok UI: 4040 → To 4040
- MySQL: 33060 → To 3306
- PostgreSQL: 54320 → To 5432
- MongoDB: 27017 → To 27017
- Mailhog: 8025 → To 8025
- Minio: 9600 → To 9600
Версии PHP
В Homestead 6 появилась поддержка запуска нескольких версий PHP на одной виртуальной машине. Вы можете указать, какую версию PHP использовать для данного сайта в вашем файле Homestead.yaml
. Доступные версии PHP: "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0" (по умолчанию) и "8.1":
sites: - map: homestead.test to: /home/vagrant/project1/public php: "7.1"
На вашей виртуальной машине Homestead Вы можете использовать любую из поддерживаемых версий PHP через интерфейс командной строки:
php5.6 artisan listphp7.0 artisan listphp7.1 artisan listphp7.2 artisan listphp7.3 artisan listphp7.4 artisan listphp8.0 artisan listphp8.1 artisan list
Вы можете изменить версию PHP по умолчанию, используемую CLI, выполнив следующие команды на своей виртуальной машине Homestead:
php56php70php71php72php73php74php80php81
Подключение к базам данных
База данных homestead
настроена как для MySQL, так и для PostgreSQL из коробки. Чтобы подключиться к базе данных MySQL или PostgreSQL из клиента базы данных хоста, Вы должны подключиться к 127.0.0.1
через порт 33060
(MySQL) или 54320
(PostgreSQL). Имя пользователя и пароль для обеих баз данных: homestead
/ secret
.
{note} Вы должны использовать эти нестандартные порты только при подключении к базам данных с Вашего хост-компьютера. Вы будете использовать порты 3306 и 5432 по умолчанию в файле конфигурации Вашего приложения Laravel
database
, поскольку Laravel работает внутри виртуальной машины.
Резервные копии базы данных
Homestead может автоматически создавать резервную копию Вашей базы данных, когда Ваша виртуальная машина Homestead будет уничтожена. Чтобы использовать эту функцию, Вы должны использовать Vagrant 2.1.0 или выше. Или, если Вы используете старую версию Vagrant, Вы должны установить плагин vagrant-triggers
. Чтобы включить автоматическое резервное копирование базы данных, добавьте следующую строку в Ваш файл Homestead.yaml
:
backup: true
После настройки Homestead будет экспортировать Ваши базы данных в каталоги mysql_backup
и postgres_backup
при выполнении команды vagrant destroy
. Эти каталоги можно найти в папке, в которую Вы установили Homestead, или в корне Вашего проекта, если Вы используете метод установка для каждого проекта.
Настройка расписаний Cron
Laravel предоставляет удобный способ запланировать задания cron, запланировав выполнение одной Artisan-команды schedule:run
каждую минуту. Команда schedule:run
проверяет расписание заданий, определенное в Вашем классе App\Console\Kernel
, чтобы определить, какие запланированные задачи нужно запустить.
Если Вы хотите, чтобы команда schedule:run
запускалась для сайта Homestead, Вы можете установить для параметра schedule
значение true
при определении сайта:
sites: - map: homestead.test to: /home/vagrant/project1/public schedule: true
Задание cron для сайта будет определено в каталоге /etc/cron.d
виртуальной машины Homestead.
Настройка MailHog
MailHog позволяет Вам перехватывать исходящую электронную почту и проверять ее, не отправляя ее получателям. Для начала обновите файл .env
Вашего приложения, чтобы использовать следующие настройки почты:
MAIL_MAILER=smtpMAIL_HOST=localhostMAIL_PORT=1025MAIL_USERNAME=nullMAIL_PASSWORD=nullMAIL_ENCRYPTION=null
После настройки MailHog Вы можете получить доступ к панели управления MailHog по адресу http://localhost:8025
.
Настройка Minio
Minio - сервер хранения объектов с открытым исходным кодом и API, совместимый с Amazon S3. Чтобы установить Minio, обновите файл Homestead.yaml
, указав следующую опцию конфигурации в разделе функции:
minio: true
По умолчанию Minio доступен через порт 9600. Вы можете получить доступ к панели управления Minio, посетив http://localhost:9600
. Ключ доступа по умолчанию - homestead
, а секретный ключ по умолчанию - secretkey
. При доступе к Minio Вы всегда должны использовать регион us-east-1
.
Чтобы использовать Minio, вам нужно будет настроить конфигурацию диска S3 в файле конфигурации вашего приложения config/filesystems.php
. Вам нужно будет добавить параметр use_path_style_endpoint
в конфигурацию диска, а также изменить ключ url
на endpoint
:
's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'endpoint' => env('AWS_URL'), 'use_path_style_endpoint' => true,]
Наконец, убедитесь, что Ваш файл .env
имеет следующие параметры:
AWS_ACCESS_KEY_ID=homesteadAWS_SECRET_ACCESS_KEY=secretkeyAWS_DEFAULT_REGION=us-east-1AWS_URL=http://localhost:9600
Чтобы подготовить ведра "S3" на базе Minio, добавьте директиву buckets
в файл Homestead.yaml
. После определения Ваших корзин Вы должны выполнить команду vagrant reload --provision
в вашем терминале:
buckets: - name: your-bucket policy: public - name: your-private-bucket policy: none
Supported policy
values include: none
, download
, upload
, and public
.
Laravel Dusk
Чтобы запустить тесты Laravel Dusk в Homestead, Вы должны включить функцию webdriver
в Вашей конфигурации Homestead:
features: - webdriver: true
После включения функции webdriver
Вы должны выполнить команду vagrant reload --provision
в Вашем терминале.
Совместное использование Вашей среды
Иногда Вы можете поделиться тем, над чем Вы сейчас работаете, с коллегами или клиентом. Vagrant имеет встроенную поддержку для этого с помощью команды vagrant share
; однако это не сработает, если в Вашем файле Homestead.yaml
настроено несколько сайтов.
Чтобы решить эту проблему, Homestead включает собственную команду share
. Для начала SSH в Вашу виртуальную машину Homestead через vagrant ssh
и выполните команду share homestead.test
. Эта команда предоставит общий доступ к сайту homestead.test
из Вашего файла конфигурации Homestead.yaml
. Вы можете заменить любой из других настроенных Вами сайтов на homestead.test
:
share homestead.test
После выполнения команды Вы увидите экран Ngrok, который содержит журнал активности и общедоступные URL-адреса для общего сайта. Если Вы хотите указать настраиваемый регион, поддомен или другую опцию выполнения Ngrok, Вы можете добавить их в свою команду share
:
share homestead.test -region=eu -subdomain=laravel
{note} Помните, что Vagrant по своей сути небезопасен, и Вы открываете свою виртуальную машину в Интернете, выполняя команду
share
.
Отладка и профилирование
Отладка веб-запросов с помощью Xdebug
Homestead включает поддержку пошаговой отладки с использованием Xdebug. Например, Вы можете получить доступ к странице в своем браузере, и PHP подключится к Вашей IDE, чтобы разрешить проверку и изменение выполняемого кода.
По умолчанию Xdebug уже запущен и готов принимать соединения. Если Вам нужно включить Xdebug в CLI, выполните команду sudo phpenmod xdebug
на своей виртуальной машине Homestead. Затем следуйте инструкциям Вашей IDE, чтобы включить отладку. Наконец, настройте свой браузер на запуск Xdebug с расширением или bookmarklet.
{note} Xdebug заставляет PHP работать значительно медленнее. Чтобы отключить Xdebug, запустите
sudo phpdismod xdebug
на своей виртуальной машине Homestead и перезапустите службу FPM.
Автозапуск Xdebug
При отладке функциональных тестов, которые отправляют запросы к веб-серверу, проще автоматически запускать отладку, чем изменять тесты для прохождения через настраиваемый заголовок или файл cookie для запуска отладки. Чтобы заставить Xdebug запускаться автоматически, измените файл /etc/php/7.x/fpm/conf.d/20-xdebug.ini
внутри Вашей виртуальной машины Homestead и добавьте следующую конфигурацию:
; Если Homestead.yaml содержит другую подсеть для IP-адреса, этот адрес может быть другим...xdebug.remote_host = 192.168.10.1xdebug.remote_autostart = 1
Отладка приложений CLI
Чтобы отладить приложение PHP CLI, используйте псевдоним оболочки xphp
внутри Вашей виртуальной машины Homestead:
xphp /path/to/script
Профилирование приложений с помощью Blackfire
Blackfire - это сервис для профилирования веб-запросов и приложений CLI. Он предлагает интерактивный пользовательский интерфейс, который отображает данные профиля в виде графиков вызовов и временных шкал. Он создан для использования в разработке, тестировании и производстве без дополнительных затрат для конечных пользователей. Кроме того, Blackfire обеспечивает проверку производительности, качества и безопасности кода и параметров конфигурации php.ini
.
Blackfire Player - это приложение с открытым исходным кодом для веб-сканирования, веб-тестирования и веб-скрапинга, которое может работать вместе с Blackfire для создания сценариев профилирования сценариев.
Чтобы включить Blackfire, используйте параметр «features» в файле конфигурации Homestead:
features: - blackfire: server_id: "server_id" server_token: "server_value" client_id: "client_id" client_token: "client_value"
Учетные данные сервера Blackfire и учетные данные клиента требуется учетная запись Blackfire. Blackfire предлагает различные варианты профилирования приложения, включая инструмент командной строки и расширение для браузера. Пожалуйста просмотрите документацию Blackfire для получения дополнительной информации.
Сетевые интерфейсы
Свойство networks
файла Homestead.yaml
настраивает сетевые интерфейсы для Вашей виртуальной машины Homestead. Вы можете настроить столько интерфейсов, сколько необходимо:
networks: - type: "private_network" ip: "192.168.10.20"
Чтобы включить интерфейс bridged, настройте параметр bridge
для сети и измените тип сети на public_network
:
networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)"
Чтобы включить DHCP, просто удалите опцию ip
из Вашей конфигурации:
networks: - type: "public_network" bridge: "en1: Wi-Fi (AirPort)"
Расширение Homestead
Вы можете расширить Homestead, используя сценарий after.sh
в корне Вашего каталога Homestead. В этот файл Вы можете добавить любые команды оболочки, которые необходимы для правильной настройки и настройки Вашей виртуальной машины.
При настройке Homestead Ubuntu может спросить Вас, хотите ли Вы сохранить исходную конфигурацию пакета или перезаписать ее новым файлом конфигурации. Чтобы избежать этого, Вы должны использовать следующую команду при установке пакетов, чтобы избежать перезаписи любой конфигурации, ранее написанной Homestead:
sudo apt-get -y \ -o Dpkg::Options::="--force-confdef" \ -o Dpkg::Options::="--force-confold" \ install package-name
Пользовательские настройки
При использовании Homestead со своей командой Вы можете настроить Homestead, чтобы он лучше соответствовал Вашему личному стилю разработки. Для этого Вы можете создать файл user-customizations.sh
в корне Вашего каталога Homestead (тот же каталог, где находится Ваш файл Homestead.yaml
). В этом файле Вы можете сделать любую настройку, которую захотите; однако версия файла user-customizations.sh
не должна контролироваться.
Настройки для конкретного провайдера
VirtualBox
natdnshostresolver
По умолчанию Homestead устанавливает для параметра natdnshostresolver
значение on
. Это позволяет Homestead использовать настройки DNS Вашей операционной системы. Если Вы хотите изменить это поведение, добавьте следующие параметры конфигурации в Ваш файл Homestead.yaml
:
provider: virtualboxnatdnshostresolver: 'off'
Символические ссылки в Windows
Если символические ссылки не работают должным образом на Вашем компьютере с Windows, Вам может потребоваться добавить следующий блок в Ваш Vagrantfile
:
config.vm.provider "virtualbox" do |v| v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]end