Среда разработки php apache
Apache NetBeans 12.4
В этом документе приведены общие рекомендации по подготовке среды для разработки PHP, настройки проекта PHP и разработки и запуска первого приложения PHP в IDE NetBeans для PHP.
Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.
Пакет загрузки PHP
Систему PHP, веб-сервер и базу данных можно установить отдельно или использовать пакеты AMP (*A*pache, *M*ySQL, *P*HP).
Установка и настройка
Следующие документы содержат описание одного или двух способов установки веб-стека PHP в операционной системе. Эти указания не являются исчерпывающими. Веб-стек состоит из программного обеспечения других производителей, среда может различаться, а разработчик может предпочесть другой пакет AMP или другой способ установки PHP. Приведенные указания следует дополнить собственными наблюдениями.
Настройка проекта PHP в IDE NetBeans для PHP
Дополнительные свдения по установке и запуске IDE NetBeans см. в документации по установке.
Для начала разработки PHP в IDE NetBeans для PHP сначала необходимо создать проект. Проект содержит информацию о размещении файлов проекта и способе запуска и отладки приложения (конфигурация запуска ).
Запустите среду IDE, перейдите в окно «Проекты» и выберите команду «Файл > Создать проект». Откроется панель «Выберите проект».
В списке категорий выберите PHP.
В области «Проекты» выберите «Приложение PHP» и нажмите кнопку «Далее». Откроется панель «Новый проект PHP > Имя и местоположение».
В остальных полях оставьте значения по умолчанию. Нажмите кнопку «Далее». Откроется окно «Настройки выполнения».
В раскрывающемся списке «Выполнить как» выберите «Локальный веб-сайт». Начнется выполнение проекта на локальном сервере Apache. Проект можно также выполнить удаленно через FTP или запустить его из командной строки.
Оставьте поле «URL-адрес проекта» без изменений.
Нажмите кнопку «Завершить». Средой IDE будет создан проект.
Выполнение своего первого проекта PHP
Запустите среду IDE, выберите команду «Файл > Открыть проект». Откроется диалоговое окно «Открыть проект».
Введите следующий код в блок :
Для выполнения этого проекта поместите курсор на узел NewPHPProject и в контекстном меню выберите команду «Выполнить». На рисунке ниже показано, что должно отобразиться в окне браузера.
Поздравляем! Программа работает!
Использование серверов баз данных с IDE NetBeans для PHP
Можно использовать различные серверы баз данных с IDE NetBeans для PHP, хотя наиболее популярным является сервер MySQL. Загрузку можно осуществить отсюда. Примечание. Рекомендуемая версия продукта: MySQL Server 5.0. Дополнительные материалы:
Apache NetBeans 12.4
В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.10 и более поздние). Эта процедура предполагает установку и настройку механизма PHP, базы данных MySQL, веб-сервера Apache и отладчика XDebug.
Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.
Пакет загрузки PHP
Рекомендуется использовать HTTP-сервер Apache 2.2.
Сервер базы данных
Рекомендуется использовать сервер MySQL 5.0.
Отладчик PHP (не обязательно)
Версия XDebug 2.0 или более поздняя
Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Настройка удаленного веб-сервера описана в разделе + Развертывание приложения PHP на удаленном веб-сервере с помощью IDE NetBeans+. Этот учебный курс содержит информацию, необходимую для настройки локального веб-сервера. Поддержка PHP может добавляться к целому ряду локальных веб-серверов (IIS, Xitami и т.д.), но обычно используется сервер HTTP Apache.
Установка программного обеспечения
В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.04 и более поздние). Необходимо выполнить следующие действия:
Установить сервер Apache2 HTTP, механизм PHP5, сервер базы данных MySQL 5.0 и модуль PHP5-MySQL. Эти пакеты можно установить одновременно как стек LAMP или установить по отдельности.
Для получения дополнительных сведений об установке Apache, MySQL и PHP см. Сообщество Ubuntu.
Одновременная установка всех пакетов программного обеспечения
Ubuntu предоставляет пакет Linux AMP (LAMP), который содержит все необходимые пакеты для среды PHP. Для установки программного обеспечения можно выполнить следующую команду в командной строке в окне терминала:
Пакет lamp-server включает в себя наиболее удобную версию PHP, Apache 2, MySQL и PHP5-MySQL.
Установка пакетов программного обеспечения по отдельности
Вместо установки целого набора коллекций LAMP пакеты можно также установить индивидуально. Эта функция используется, если один из компонентов (например, сервер Apache или сервер базы данных MySQL) уже установлен. Можно использовать средства командной строки или графический пользовательский интерфейс Synaptic Package Manager.
Отдельно могут быть установлены следующие пакеты:
Проверка установки
После настройки пакета PHP Web Stack убедитесь в том, что он установлен правильно, а сервер Apache распознает механизм PHP.
Устранение проблем
Ниже перечислены часто возникающие проблемы при проверке установки стека PHP в Ubuntu:
*В окне браузера отображается ошибка «Not Found» для
USER/PROJECT/index.php *. Удалите строку
USER из URL-адреса. Например, если эта ошибка происходит для URL-адреса
Указание корневого узла документа для сервера HTTP Apache2
Корневой узел документов представляет собой папку, из которой сервер HTTP Apache извлекает файлы для отображения в браузере. Корневой узел документов указан в файле, определяющем виртуальный узел. Файл настройки, определяющий виртуальный узел по умолчанию:
с корневым узлом документов
Вместо изменения узла по умолчанию рекомендуется создать и активировать собственный виртуальный узел.
Создание местоположения корневого узла документов
Выберите «Places > Home Folder».
В контекстном меню выберите «Create Folder».
Введите имя папки, например public_html.
Создание нового виртуального узла
Для запуска терминала выберите «Applications>Accessories>Terminal». Откроется окно терминала.
Для копирования файла настройки из виртуального узла по умолчанию в новый файл ( mysite ) введите в командной строке следующую команду:
Запустите приложение gedit и отредактируйте в нем новый файл настройки ( mysite ):
При появлении запроса введите пароль, определенный для пользователя root во время установки операционной системы.
Измените корневой узел документов, указав в нем новое местоположение:
Настройка среды разработки для PHP веб-разработчика в Windows
Первые два года своей профессиональной деятельности в создании сайтов я работал под Linux. Но при всей гибкости и мощности этой системы она, всё же, неудобна в мелочах. Однажды, эти мелочи перевесили все прочие плюсы и я решился пересесть на Windows. Сейчас я совершенно не жалею о потраченном времени на настройку среды разработки, а моим рабочим ноутбуком, который по совместительству является и домашним, стало гораздо удобнее пользоваться.
Этот пост может сэкономить время тем, кто так же как и я собирается перейти на Windows и тем, кто только ещё начинает работать PHP-программистом или веб-разработчиком. Для полноценной веб-разработки понадобятся: виртуальная среда, система контроля версий, менеджеры зависимостей, система сборки приложений, система развёртки приложений и, конечно, хороший редактор кода. Я не буду рассказывать зачем нужен каждый из компонентов, а лишь дам инструкцию по его установке в Windows. Я использую Vagrant, Composer, NPM, Bower, Git, Gulp, Capistrano и PHPStorm, дальше пойдёт речь именно об этих технологиях. Инструкции даны для Windows 10.
Начнём с установки PHP
Для разработки я использую PHP 7, чтобы мой код был совместим с ним, когда я соберусь переезжать. На боевых серверах у меня пока что PHP 5.6. Для того, чтобы случайно не написать код, который не будет работать в продакшене в моём PHPStorm указан уровень языка 5.6.
Для работы в Windows у PHP есть специальная версия языка, которую можно скачать с сайта PHP. Для того, чтобы установить PHP 7 в операционной системе Windows понадобится программа Visual C++ Redistributable for Visual Studio 2015, которую можно скачать с официального сайта Майкрософта. Установка этой программы не содержит никаких трудностей, нужно просто нажимать кнопку «Далее».
После установки Visual C++ Redistributable скачиваем архив PHP 7 для Windows (VC14 Non Thread Safe x64 или x86 в зависимости от разрядности системы) c официального сайта PHP. В архиве нет инсталлятора, его просто нужно распаковать в папку где-нибудь на диске. В пути к этой папке не должно быть пробелов и русских букв, у меня это C:\php.
После распаковки нужно добавить PHP в системный PATH для того, чтобы можно было запускать PHP из любого каталога:
Система контроля версий
Установить Git на Windows проще простого. В качестве приятного бонуса вместе с Git поставляется консоль Git bash. Работать с этой консолью гораздо удобнее, чем со стандартной CMD в Windows. Кроме того, она понимает некоторые полезные линуксовские команды, такие как find, ls и прочие.
При установке Git под Windows вам нужно будет прописать git.exe в PATH вашей системы, чтобы Git можно было запускать из любого места в командной строке. А также указать Git’у, чтобы при получении кода он не менял символы окончания строк в файлах (эти символы отличаются на системах с Linux и Windows). Всё это делается парой кликов мышкой через инсталятор Git.
Вот скриншоты важных страниц установки Git:
Откройте Git Bush и запустите две команды:
На этом первоначальная настройка Git закончена.
Менеджеры зависимостей NPM, Bower и Composer
Для того, чтобы получить NPM нужно установить NodeJS.
У NodeJS есть официальный установщик для Windows, поэтому установка будет проще простого:
Если команды выдали версии, например: «v6.2.0» и «3.8.8», то это значит, что всё успешно установлено и можно работать.
После установки NPM можно приступить к установке Bower
Здесь всё просто, введите в командной строке:
Composer
У пакетного менеджера Composer есть специальный установщик для Windows. Скачать его можно с официального сайта. Сама установка элементарна и займёт не больше 5 минут, но есть две особенности.
Во первых, перед установкой Composer нужно установить PHP. О том как это сделать написано в начале поста. Во вторых, после установки Composer нужно передать ему специальный GitHub Tokken для того, чтобы обойти ограничени GitHub’а на количество обращений по API.
Но начнём с установки. После скачивания и запуска установщика он попросит указать путь к PHP. Если вы добавили PHP в PATH, как указано у меня в инструкци, то Composer сам определит этоть путь. Если нет, то вам нужно указать этот путь самостоятельно.
После этого нужно ещё несколько раз нажать Next и Composer будет установлен в систему и доступен через командную строку из любого каталога.
В процессе работы с Composer программа в какой-то момент сама предложит вам ввести GitHub Tokken и даст ссылку на его создание. Но можно не ждать этого и сделать всё самому. Создать токен можно на специальной странице GitHub’а. Для того, что передать токен Composer’у нужно ввести в командной строке команду
Всё, на этом Composer установлен и готов к использованию.
Система сборки проекта Gulp
Так как он часть экосистемы NPM, то тут всё просто:
Виртуальная среда Vagrant
Для установки Vagrant в Windows предварительно понадобится установить один из провайдеров виртуальной среды. Я использую VirtualBox от Oracle. Установка обеих программ не составляет абсолютно никакого труда и требует только вовремя нажимать кнопку Next.
Ссылки на страницы откуда можно скачать установщики:
Система развёртывания Capistrano
Для того, чтобы установить Capistrano на Windows в первую очередь нужно установить язык программирования Ruby. В этом нет ничего сложного, для установки языка в Windows существует специальный проект rubyinstaller.org. Нужно лишь скачать установщик и несколько раз нажать кнопку Next. Не забудьте только поставить галочку напротив пункта о добавлении Ruby в PATH Windows.
Это позволит запускать Capistrano из любого каталога, что очень удобно.
После установки Ruby настало время установить Capistrano. Откройте командную строку (если она была открыта, до установки Ruby, то закройте и откройте её снова, чтобы обновить данные из PATH) и введите команду:
Эта команда установит Capistrano в систему и в дальнейшем его можно будет запускать командой:
Как видите, всё элементарно.
Сразу после установки PHPStorm на Windows нужно сделать две важные настройки:
Обе настройки находятся в разделе Editor. Попасть в настройки можно с главного экрана PHPStorm.
На этом всё. На установку всех компонентов понадобится примерно час времени.
Apache NetBeans 12.4
В данном учебном курсе рассматриваются два способа настройки среды разработки PHP в операционной системе Windows. Первый и наиболее удобный способ состоит в установке и настройке пакета AMP (*A*pache, *М*ySQL, *P*HP). В данном учебном курсе приводится процедура установки пакета XAMPP. Второй способ состоит в установке и настройке каждого компонента по отдельности.
Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.
Пакет загрузки PHP
Версия 5. Содержится в XAMPP Windows.
Рекомендуется использовать сервер HTTP Apache версии 2.2. Содержится в XAMPP для Windows.
Сервер базы данных
Рекомендуется использовать сервер MySQL 5.0. Содержится в XAMPP для Windows.
Отладчик PHP (не обязательно)
Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Настройка удаленного веб-сервера описана в разделе + Развертывание приложения PHP на удаленном веб-сервере с помощью IDE NetBeans+. Этот учебный курс содержит информацию, необходимую для настройки локального веб-сервера. Поддержка PHP может добавляться к целому ряду локальных веб-серверов (IIS, Xitami и т.д.), но обычно используется сервер HTTP Apache. Сервер HTTP Apache включен в пакет AMP XAMPP, используемый в этом учебном курсе. Сведения относительно установки и настройки автономного сервера HTTP Apache приведены здесь.
Требуемое программное обеспечение
Для создания, выполнения и отладки проектов PHP необходимо следующее программное обеспечение:
IDE NetBeans для PHP. Загрузку можно осуществить отсюда.
Веб-сервер. Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Текущая версия позволяет использовать локальный сервер. Последующие версии будут поддерживать использование удаленного сервера с доступом по протоколу FTP. Поддержка PHP может добавляться к целому ряду веб-серверов (IIS, Xitami и т.д.), но обычно используется сервер HTTP Apache. Сведения относительно установки и настройки Apache 2.2 приведены здесь.
Механизм PHP. Поддерживается версия PHP5. Загрузку можно осуществить отсюда.
Отладчик PHP. IDE NetBeans для PHP позволяет использовать XDebug, но использование отладчика не является обзательным. Из соображений совместимости с PHP5 рекомендуется использовать версию XDebug 2.0 или выше.
Сервер базы данных. Существует возможность использования различных серверов базы данных, однако самым популярным из них является сервер MySQL. Загрузку можно осуществить отсюда. NOTE: Рекомендуемая версия продукта: MySQL Server 5.0. В предоставленных документах описывается работа с этой версией.
По завершении установки необходимо выполнить настройку среды в целях обеспечения правильной совместной работы всех программных компонентов.
Можно использовать пакет, содержащий требуемое программное обеспечение, или установить каждый компонент по отдельности.
Использование пакета AMP
В целях автоматической установки всех параметров настройки для механизма PHP, сервера HTTP Apache и сервера базы данных MySQL воспользуйтесь пакетом AMP. В данном учебном курсе приведены указания только для пакета XAMPP-Windows. Справочные сведения по пакету WAMP или другим пакетам приведены в разделе NetBeans XDebug Wiki.
Установка и настройка пакета XAMPP
В этом разделе приведено описание процедур загрузки, установки и настройки пакета XAMPP.
Предупреждение! НЕ используйте XAMPP 1.7.0. В этой версии имеются значительные проблемы с XDebug. Используйте версию 1.7.1 или выше, где эти неполадки устранены.
Начиная с XAMPP 1.7.2, XAMPP поставляется с PHP 5.3а не с PHP 5.2.x. IDE NetBeans для PHP версии 6.7.x не поддерживает новые функции PHP 5.3. IDE NetBeans для PHP 6.8, которая в настоящее время доступна как сборка разработки, полностью поддерживает PHP 5.3. Также обратите внимание, что установка Xdebug различается для PHP 5.2.x и PHP 5.3. |
Загрузите пакет программы установки +XAMPP +. В состав XAMPP Lite не входит XDebug.
В Microsoft Vista функция контроля учетных записей пользователей (UAC) блокирует обновление установщиком PHP настройки службы httpd Apache. На время установки XAMPP следует отключить UAC. Для получения дополнительных сведений обратитесь к разделу Поддержка Майкрософт.
Можно установить сервер Apache и сервер базы данных MySQL как веб-службы. Если Apache Server и MySQL установлены как службы, то нет необходимости запускать их вручную с помощью «XAMP Control Panel». Следует учитывать, что установить и удалить эти службы можно с помощью панели управления XAMPP.
При использовании самораспаковывающегося архива после его распаковки запустите файл setup-xampp.bat для настройки компонентов пакета. Программа установки XAMPP запускает этот файл автоматически.
После настройки откройте панель управления XAMP. Эту панель можно открыть посредством запуска файла XAMPP_HOME/xampp-control.exe или с помощью значка панель управления XAMPP, автоматически размещаемого на рабочем столе. При открытии панели управления XAMPP следует учитывать, что модули, установленные как службы, уже выполняются.
Флажки «Svc» указывают на то, что модуль устанавливается как служба Windows и автоматически выполняется при запуске системы. Службы Windows устанавливаются и удаляются при установке и снятии флажка «Svc». При удалении службы Windows сам модуль не удаляется, однако необходимо запускать его вручную. Панель управления XAMPP включает в себя кнопки запуска и остановки модулей, а также открытия их консолей администратора.
Проверка установки XAMPP
Установка и включение отладчика XDebug
Для использования отладчика XDebug необходимо настроить стек PHP. Процесс отличается, если используется XAMPP 1.7.1, который включает в себя PHP 5.2.6, или XAMPP 1.7.2, который включает в себя PHP 5.3.
Многие пользователи испытывают трудности при настройке работы XDebug в своих системах. Справочные сведения приведены на вики-страницеи на форуме пользователей редактора NetBeans PHP Editor.
XDebug на XAMPP 1.7.1 (PHP 5.2)
Поскольку оптимизатор Zend блокирует XDebug, оптимизатор требуется отключить. В активном файле php.ini найдите следующие строки и удалите или отметьте их как комментарии (для надежности выполните поиск и закомментируйте все свойства, связанные с Zend):
Для присоединения XDebug к механизму PHP раскомментируйте следующие строки в файлах php.ini (добавьте эти строки непосредственно в разделе [Zend]), если они отсутствуют. Добавлены дополнительные примечания.
Установите свойство xdebug.remote_enable в значение 1, а не в значение «true» или другое значение.
Убедитесь в том, что указанные пути соответствуют расположению соответствующих файлов, как это определено при установке. |
Запустите панель управления XAMPP и перезапустите сервер Apache. Дополнительные сведения о настройке XDebug приведены на вики-странице и в документации по XDebug.
Xdebug на XAMPP 1.7.2 (PHP 5.3)
Найдите и откройте файл XAMPP_HOME\php\php.ini для редактирования. В XAMPP 1.7.2 используется только файл php.ini
Найдите строку zend_extension = «XAMPP_HOME\php\ext\php_xdebug.dll» и удалите символ комментария.
Найдите строку xdebug.remote_enable = 0 и удалите символ комментария. Измените 0 на 1.
Найдите строку xdebug.remote_handler = «dbgp» и удалите символ комментария.
Найдите строку xdebug.remote_port = 9000 и удалите символ комментария.
Запустите панель управления XAMPP и перезапустите сервер Apache.
Дополнительные сведения о настройке XDebug приведены на вики-странице и в документации по XDebug.
Среда разработки PHP на базе Docker
Решение, которое позволит создать на локальном компьютере универсальную среду разработки на PHP за 30 — 40 минут.
Почему Docker?
Docker не является VM-системой, он не моделирует аппаратное обеспечение компьютера. Используя Docker вы получите минимальное потребление ресурсов. Docker-контейнеры взаимодействуют напрямую с ядром вашего компьютера (или ядром хоста), но при этом изолируют программу на уровне процесса.
Высокая скорость развертывания. Вы можете использовать готовые docker-образы, которые устанавливаются и запускаются за секунды.
Приложения, находящееся внутри docker-контейнеров, можно запустить на любом компьютере с установленным Docker, при этом окружение будет одинаковым.
Возможность простой сегрегации пользовательских данных и контейнеров-сервисов. Если вы сломаете или удалите docker-контейнер, то данные не потеряются, так как они не будут принадлежать контейнеру. Контейнер выполняет лишь функцию сервиса, и не хранит данные, которые нельзя потерять между запусками.
Вы можете очень быстро добавлять новые контейнеры, изменять их конфигурацию, запускать различные версии баз данных на одной машине.
Требования
Docker engine 19.x и выше.
Возможности и особенности среды разработки
Несколько версий PHP — 7.3 и 7.1 с набором наиболее востребованных расширений.
Возможность использовать для web-проектов разные версии PHP.
Готовый к работе монитор процессов Supervisor.
Предварительно сконфигурированный веб-сервер Nginx.
Базы данных: MySQL 5.7, MySQL 8, PostgreSQL (latest), MongoDB 4.2, Redis (latest).
Настройка основных параметров окружения через файл .env.
Возможность модификации сервисов через docker-compose.yml.
Последняя версия docker-compose.yml.
Все docker-контейнеры базируются на официальных образах.
Структурированный Dockerfile для создания образов PHP.
Каталоги большинства docker-контейнеров, в которых хранятся пользовательские данные и параметры конфигурации смонтированы на локальную машину.
В целом, среда разработки удовлетворяет требованию — при использовании Docker каждый контейнер должен содержать в себе только один сервис.
Репозиторий проекта
Структура проекта
Рассмотрим структуру проекта.
Примечание
.gitkeep — является заполнением каталога, это фиктивный файл, на который не следует обращать внимание.
.env-example
Пример файла с основными настройками среды разработки.
.gitignore
Каталоги и файлы, в которых хранятся пользовательские данные, код ваших проектов и ssh-ключи внесены в. gitignore.
Этот каталог предназначен для хранения ssh-ключей.
readme.md
docker-compose.yml
Документ в формате YML, в котором определены правила создания и запуска многоконтейнерных приложений Docker. В этом файле описана структура среды разработки и некоторые параметры необходимые для корректной работы web-приложений.
mongo
Каталог базы данных MongoDB.
mongo.conf — Файл конфигурации MongoDB. В этот файл можно добавлять параметры, которые при перезапуске MongoDB будут применены.
db — эта папка предназначена для хранения пользовательских данных MongoDB.
dump — каталог для хранения дампов.
mysql-5.7
Каталог базы данных MySQL 5.7.
config-file.cnf — файл конфигурации. В этот файл можно добавлять параметры, которые при перезапуске MySQL 5.7 будут применены.
data — эта папка предназначена для хранения пользовательских данных MySQL 5.7.
dump — каталог для хранения дампов.
logs — каталог для хранения логов.
mysql-8
Каталог базы данных MySQL 8.
config-file.cnf — файл конфигурации. В этот файл можно добавлять параметры, которые при перезапуске MySQL 8 будут применены.
data — эта папка предназначена для хранения пользовательских данных MySQL 8.
dump — каталог для хранения дампов.
logs — каталог для хранения логов.
nginx
Эта папка предназначена для хранения файлов конфигурации Nginx и логов.
default.conf — файл конфигурации, который будет применён ко всем виртуальным хостам.
vhost.conf — здесь хранятся настройки виртуальных хостов web-проектов.
Рассмотрим vhost.conf подробнее:
В файле конфигурации описаны настройки для двух web-проектов — project-1.localhost и project-2.localhost.
Здесь следует обратить внимание на то, как производится перенаправление запросов к нужному docker-контейнеру.
Например, для проекта project-1.localhost указано:
php-7.3 — название docker-контейнера, а 9000 — порт внутренней сети. Контейнеры между собой связаны через внутреннюю сеть, которая определена в файле docker-compose.yml.
php-ini
В этом каталоге находятся файлы конфигурации PHP.
Для каждой версии PHP — свой файл конфигурации.
php-workers
Место для хранения файлов конфигурации Supervisor.
Для каждой версии PHP — могут быть добавлены свои файлы с настройками.
php-workspace
Здесь хранится файл, в котором описаны действия, выполняемые при создании образов docker-контейнеров PHP.
Dockerfile — это текстовый документ, содержащий все команды, которые следует выполнить для сборки образов PHP.
postgres
Каталог для системы управления базами данных PostgreSQL.
data — эта папка предназначена для хранения пользовательских данных PostgreSQL.
dump — каталог для хранения дампов.
projects
Каталог предназначен для хранения web-проектов.
Вы можете создать в это каталоге папки, и поместить в них ваши web-проекты.
Содержимое каталога projects доступно из контейнеров php-7.1 и php-7.3.
Если зайти в контейнер php-7.1 или php-7.3, то в каталоге /var/www будут доступны проекты, которые расположены в projects на локальной машине.
redis
Каталог key-value хранилища Redis.
conf — папка для хранения специфических параметров конфигурации.
data — если настройки конфигурации предполагают сохранения данных на диске, то Redis будет использовать именно этот каталог.
Программы в docker-контейнерах PHP
Полный перечень приложений, которые установлены в контейнерах php-7.xможно посмотреть в php-workspace/Dockerfile.
Здесь перечислим лишь некоторые, наиболее важные:
Начало работы
1. Выполните клонирование данного репозитория в любое место на вашем компьютере.
Перейдите в директорию, в которую вы клонировали репозиторий. Все дальнейшие команды следует выполнять именно в этой директории.
2. Скопируйте файл .env-example в .env
Если это необходимо, то внесите изменения в файл .env. Измените настройки среды разработки в соответствии с вашими требованиями.
3. Выполните клонирование web-проектов в каталог projects.
Для примера, далее мы будем исходить из предположения, что у вас есть 2 проекта:
project-1.ru — будет работать на версии PHP 7.3, а project-2.ru — на PHP 7.1.
4. Отредактируйте настройки виртуальных хостов Nginx.
Файл конфигурации виртуальных хостов находится в каталоге ./nginx/conf.d/.
5. Настройте хосты (доменные имена) web-проектов на локальной машине.
Необходимо добавить названия хостов web-проектов в файл hosts на вашем компьютере.
В файле hosts следует описать связь доменных имён ваших web-проектов в среде разработки на локальном компьютере и IP docker-контейнера Nginx.
На Mac и Linux этот файл расположен в /etc/hosts. На Windows он находится в C:\Windows\System32\drivers\etc\hosts.
Строки, которые вы добавляете в этот файл, будут выглядеть так:
В данном случае, мы исходим из того, что Nginx, запущенный в docker-контейнере, доступен по адресу 127.0.0.1 и web-сервер слушает порт 80.
6. [опционально, если это необходимо] Настройте маршрутизацию внутри контейнеров web-проектов.
Web-проекты должны иметь возможность отправлять http-запросы друг другу и использовать для этого название хостов.
Из одного запущенного docker-контейнера php-7.1 web-приложение № X должно иметь возможность отправить запрос к другому web-приложению № Y, которое работает внутри docker-контейнера php-7.3. При этом адресом запроса может быть название хоста, которое указано в файле /etc/hosts локального компьютера.
Чтобы это стало возможным нужно внутри контейнеров так же внести соответствующие записи в файл /etc/hosts.
Самый простой способ решить данную задачу — добавить секцию extra_hostsв описание сервисов php-7.1 и php-7.3 в docker-compose.yml.
IP_HOST_machine — IP адрес, по которому из docker-контейнера доступен ваш локальный компьютер.
Если вы разворачиваете среду разработки на Mac, то внутри docker-контейнера вам доступен хост docker.for.mac.localhost.
Узнать IP адрес вашего Mac можно при помощи команды, который нужно выполнить на локальной машине:
В результате вы получите, что-то подобное:
После того, как вам станет известен IP-адрес, укажите его в секции extra_hostsв описание сервисов php-7.1 и php-7.3 в docker-compose.yml.
8. Настройте параметры соединения с системами хранения данных.
Хосты и порты сервисов
Для того, чтобы настроить соединения с базами данных из docker-контейнеров php-7.1 и php-7.3 следует использовать следующие названия хостов и порты: