Следующая статья представляет собой выдержку из PHP и MySQL: от новичка до ниндзя,
Настройка среды разработки PHP с помощью Docker
Руководство для начинающих по PHP
Знакомство с MySQL: руководство для начинающих
Отображение данных из MySQL в Интернете: введение
В этой книге я помогу вам сделать первые шаги за пределами статичного мира создания
Ладно, может тебе стоит посмотреть вниз. В конце концов, именно здесь находится остальная часть этой книги. Но помните, вас предупредили!
Прежде чем вы создадите свой первый динамический
Если вы привыкли создавать
PHP — это серверный язык сценариев. Это абсолютно бесплатно для скачивания и использования. Вы можете думать об этом как о плагине для вашего
Чтобы ваши
Целью этой первой главы является установка
Ваш собственный
Скорее всего, на
При разработке статических
Однако, когда дело доходит до динамических
Даже если у вас есть существующий
Чтобы запустить
Так как же запустить
Настройка сервера 1: установка всех компонентов программного обеспечения вручную
Apache — это
Для наших целей запуска
Вам также потребуется настроить Apache для взаимодействия с PHP, чтобы, когда
Чтобы следовать этой книге, вам также понадобится MySQL, что означает ручную установку и настройку.
Apache, MySQL и PHP имеют десятки параметров конфигурации, и если вы точно не знаете, что делаете, их может быть сложно настроить. Даже если вы эксперт, потребуется не менее часа, чтобы все заработало!
Ручная установка требует значительного объема знаний или исследований и выходит за рамки этой книги. Умение настраивать сервер — это, конечно, полезный навык, но он не поможет вам научиться программировать с использованием PHP — именно это вас действительно интересует, если вы читаете эту книгу.
Эта опция не для слабонервных, и даже опытные профессионалы могут легко пропустить некоторые важные настройки. Если вы действительно хотите настроить все вручную, ознакомьтесь с нашим руководством по установке PHP в Windows. Однако, если вы не хотите беспокоиться об установке и настройке всего программного обеспечения по отдельности, есть несколько отличных альтернативных вариантов.
Настройка сервера 2: готовые установки
Проблемы с ручной установкой были признаны группами разработчиков на протяжении многих лет, и для их преодоления они создали предварительно упакованные установки — единый установщик, который устанавливает PHP, Apache, MySQL и другое соответствующее программное обеспечение, предварительно сконфигурированное с соответствующими настройками. настройки для таких разработчиков, как вы. Наиболее популярными примерами такого рода пакетов являются XAMPP: X (любая операционная система), Apache, MySQL (или, точнее, MariaDB, «форк» MySQL с лучшей лицензией), PHP и Perl. Альтернативы включают WAMP (Windows, Apache, MySQL и PHP), LAMP (Linux, Apache, MySQL и PHP) и MAMP (macOS, Apache, MySQL и PHP).
Очевидно, что это намного проще, чем ручная установка каждой части программного обеспечения, и вам не нужно учиться настраивать сервер. Это быстро и просто, и намного лучше, чем ручная установка, хотя есть еще пара проблем, с которыми вы можете столкнуться при использовании этого метода, перечисленные ниже.
Ваш
Apache и MySQL — это серверы, и они работают в фоновом режиме. Даже когда вы не разрабатываете программное обеспечение, оно будет работать, используя оперативную память и вычислительную мощность вашего компьютера.
Готовое программное обеспечение всегда немного устарело. Хотя исправления безопасности не являются приоритетом для компьютера разработчика (вы не должны позволять людям получать к нему доступ через Интернет!), разработчикам всегда полезно оставаться на самых последних версиях программного обеспечения, чтобы проверить наличие проблем, которые могут быть обнаружены. возникает при обновлении программного обеспечения на вашем
Хотя предварительно упакованные установки намного лучше, чем установки, эти проблемы не делают их идеальными. К счастью, есть еще лучший подход!
Настройка сервера 3: виртуальные серверы
Третий метод запуска сервера — это «виртуальный сервер». Виртуальный сервер действует как
Программное обеспечение для виртуализации, такое как VirtualBox, и инструменты, предлагаемые VMware, широко распространены. Как
Windows 10 работает внутри Arch Linux
Программное обеспечение, такое как VirtualBox, позволяет вам запускать операционную систему внутри другой операционной системы. Для тестирования Internet Explorer 8 вы можете запустить Windows 7 на виртуальной машине. Тем не менее, для наших целей запуска
Это может быть использовано для того, чтобы вы могли запускать те же самые версии PHP, MySQL и Apache, которые используются на вашем
Одним из самых больших преимуществ является то, что вы можете загрузить предварительно настроенные виртуальные машины, такие как виртуальная машина Windows XP и Internet Explorer 8, предоставленная Microsoft, или виртуальную машину, на которой установлены и настроены PHP, Apache и MySQL для совместной работы. Это похоже на предварительно настроенный пакет, но работает в Linux, как если бы это был настоящий
Недостатком всего этого является то, что вам нужно загрузить всю операционную систему, чтобы запустить свой код. Это означает больше загрузки. Это также означает, что пакеты привязаны к тому, что предоставляется виртуальной машиной, которую вы загружаете. Замена PHP 7 на PHP 8 требует загрузки совершенно новой копии операционной системы.
Настройка сервера 4: Докер
Docker берет идею виртуализации и переворачивает ее с ног на голову. Каждая программа (или «сервис» в терминологии Docker) работает в своей изолированной среде, называемой контейнером.
Docker позволяет разработчику программного обеспечения предоставить файл конфигурации, в котором описаны все программы, необходимые для запуска приложения, например, PHP, MySQL, Apache и т. д.
Затем этот файл конфигурации рассматривается как отдельное приложение. Когда вы запускаете приложение, Docker автоматически загружает и настраивает все программное обеспечение, указанное в файле конфигурации.
Накладные расходы на это намного ниже, чем вы думаете, и есть множество преимуществ:
Конфигурация сервера предоставляется как часть приложения. Когда вы запускаете свой
Несколько
Вы можете легко заменить часть программного обеспечения. Если вы хотите изменить
В настоящее время Docker является лучшим вариантом для настройки среды разработки PHP. Если вы хотите узнать больше о настройке среды разработки для себя с помощью Docker, ознакомьтесь с моей статьей «Настройка современной среды разработки PHP с помощью Docker «.
Начиная
Прежде чем писать
Установка в Windows
После того, как вы установили Docker (и перезагрузили его, если потребуется), создайте папку на своем компьютере, где вы хотите хранить свой
Вам также необходимо знать, как открыть терминал. Windows 10 упрощает эту задачу. Открыв папку в проводнике, выберите меню «Файл» в левом верхнем углу окна, затем нажмите «Открыть Windows PowerShell «. Убедитесь, что вы делаете это из меню «Файл», а не из меню «Пуск», так как щелчок по нему из «Файла «откроет командную строку в выбранной вами папке.
Открыв PowerShell, убедитесь, что указанный путь соответствует выбранной вами папке, например, C: \Users\Tom\Documents\My Website. Затем перейдите к разделу «Начало работы с Docker» ниже.
На момент написания (сентябрь 2021 г.) в текущей предварительной сборке Windows 11 PowerShell был переименован в Терминал Windows и доступен
Включите эту опцию, вручную открыв приложение Windows Terminal из меню «Пуск» один раз. Вы можете просто открыть и закрыть программу. Необъяснимым образом Microsoft спроектировала Windows 11 таким образом, что открытие одной программы включает скрытый параметр в другой, и если вы пропустите этот шаг, пункт меню из третьего шага отсутствует.
Используйте File Explorer, чтобы перейти к вашей папке.
Щелкните правой кнопкой мыши на главной панели (там должно быть написано «Эта папка пуста») и выберите «Открыть в терминале Windows «.
Параметр «Открыть терминал» в Windows 11
Примечание: эти инструкции могли измениться к моменту выпуска Windows 11 и после публикации этой книги.
Установка на macOS
После того, как вы установили Docker (и перезагрузили его, если потребуется), создайте каталог на своем компьютере, где вы хотите хранить свой
Если вы знакомы с навигацией по компьютеру с помощью терминала, вы можете пропустить этот шаг, но для удобства я рекомендую включить функцию, позволяющую открывать терминал в текущем каталоге. Это можно включить, выполнив следующие действия:
открыть Системные настройки
перейти к клавиатуре
выберите вкладку «Ярлыки «
нажмите кнопку Услуги
установите флажок Новый терминал в папке
macOS: включить новый терминал в папке
При этом включено:
откройте приложение Docker из Applicationsпапки и примите условия
вернуться в Finder
перейдите в каталог, в котором вы хотите сохранить свой
щелкните правой кнопкой мыши (или controlщелкните) имя каталога, выберите параметр «Службы «в меню содержимого и выберите «Новый терминал в папке «.
Открыв этот терминал, вы готовы перейти к разделу «Начало работы с Docker» ниже.
В дальнейшем вам нужно будет только повторять последний набор шагов каждый раз, когда вы хотите запустить или остановить свой сервер.
Установка в Linux
Linux обычно делает установку программного обеспечения очень простой, а Docker на самом деле является программой Linux по своему дизайну. В большинстве дистрибутивов его можно установить с помощью диспетчера пакетов, но вам может потребоваться настроить собственный репозиторий пакетов.
Для дистрибутивов на основе Debian (Debian, Ubuntu, Mint и KDE Neon) и дистрибутивов на основе RedHat (RedHat, CentOS, Fedora) существует сценарий установки, который создает собственный репозиторий и устанавливает Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Конкретные инструкции для вашего дистрибутива смотрите в руководстве по Docker.
После установки Docker вы должны включить и запустить службу с помощью следующих команд:
sudo systemctl enable docker
sudo systemctl start docker
Наконец, вы можете добавить себя в dockerгруппу, чтобы вам не нужно было запускать приложения Docker через sudo:
sudo usermod -aG docker ${USER}
Изменение групп пользователей требует выхода из системы и повторного входа, поэтому выйдите из системы и снова войдите (не забудьте сохранить все, что у вас открыто!), и как только вы вернетесь, вы будете готовы открыть терминал.
После того, как вы снова вошли в систему, создайте каталог на своем компьютере, где вы хотите хранить свой
Откройте папку в файловом менеджере и выберите опцию «Открыть терминал «. В файловом менеджере Dolphin вы можете щелкнуть правой кнопкой мыши и выбрать «Открыть терминал «, но этот параметр может находиться в другом месте и, возможно, называться
Начало работы с Докером
Теперь, когда у вас установлено все программное обеспечение и ваш терминал открыт в нужном месте, пришло время выполнить некоторые команды Docker.
Хотя вы можете вручную установить среду и настроить все самостоятельно, это требует набора навыков, отличного от программирования, и выходит за рамки этой книги. Я предоставил некоторую конфигурацию на основе статьи, на которую я ссылался ранее.
docker run —rm -v ${PWD}: /install vjedev/installer: latest
Запуск установщика
Эта команда загружает некоторые файлы конфигурации из репозитория GitHub и копирует их в текущую папку. Чтобы это работало, каталог должен быть пустым, поэтому убедитесь, что в каталоге, из которого вы пытаетесь запустить эту команду, нет файлов или подкаталогов.
Примечание. GitHub — это платформа для размещения исходного кода, используемая во многих проектах с открытым исходным кодом. Репозиторий — это имя, данное отдельному проекту. В данном случае код скачивается с github.com/v-je/docker.
Совет: если у вас установлен Git, вы можете просто запустить следующую команду на этом этапе: Однако вместо того, чтобы просить каждого читателя этой книги установить Git для одной команды, я создал сценарий установки, который сделает это за вас.git clone https://github.com/v-je/docker.
Вам нужно сделать это только в первый раз, и после завершения команды вы увидите, что в вашем каталоге появятся некоторые файлы конфигурации. Не стесняйтесь просматривать созданные файлы. Есть nginx.conf, который настраивает
Не беспокойтесь о попытке понять эти файлы. Вам не нужно ничего с ними делать, так как они нужны только для настройки сервера при выполнении следующей команды.
Примечание: прежде чем мы продолжим, стоит упомянуть, что среда, которую мы только что настроили, использует NGINX, а не Apache. Если вы использовали XAMPP или аналогичный пакет,
Apache в порядке, и он работает, но он существует всегда. Когда был создан Apache, Интернет был совсем другим местом. Apache большой, и есть много разных функций, которые появлялись и исчезали, но которые Apache все еще поддерживает. Интернет сильно изменился с тех пор, как был создан Apache, и, хотя Apache является мощным сервером и будет работать нормально, большинство
Мой общий совет: если у вас уже есть
Теперь, когда у вас загружены файлы конфигурации сервера, пришло время заставить Docker загрузить и запустить все программы, необходимые для сервера. Выполните следующую команду:
docker compose up
Вывод докера компонуется
Примечание: по скучным техническим причинам, в которые не стоит вдаваться, docker composeкоманда раньше представляла собой отдельную программу с именем
При запуске вы можете получить следующую ошибку docker compose up:
docker: 'compose’ is not a docker command.
Если это так, вам нужно будет заменить команду на
Команда docker composeзагружает
При первом запуске этой команды это займет пару минут, так как необходимо загрузить все необходимое программное обеспечение. Не волнуйтесь, так как это происходит только в первый раз. После загрузки и установки программного обеспечения запуск сервера в будущем будет значительно проще.
В отличие от ручной установки NGINX/PHP/MySQL непосредственно на ваш ПК, сервер запускается только тогда, когда вы этого хотите, путем запуска docker compose up. Вы можете остановить сервер в любое время, вернувшись в терминал и нажав Ctrl+ C.
Кроме того, вы можете запустить сервер в фоновом режиме с помощью этой команды:
docker compose up -d
Вы можете остановить сервер, запустив его docker compose downиз терминала. (Вы должны открыть терминал в правильном каталоге для запуска и остановки сервера!)
Каждый раз, когда вы хотите работать с
перейдите в папку, которую вы создали
откройте свой терминал/Windows PowerShell, как вы это делали ранее
бегатьdocker compose up -d
Когда вы закончите, вы можете остановить сервер, используя тот же процесс:
перейдите в папку, которую вы создали
откройте свой терминал/Windows PowerShell, как вы это делали ранее
бегатьdocker compose down
Если вы оставили терминал открытым в фоновом режиме, вы можете просто открыть окно и выполнить шаг 3.
Совет: команда docker compose downостанавливает запущенные службы и удаляет их, освобождая место на диске. Это также заставляет их воссоздавать каждый раз.
Вы также можете использовать docker compose stopи docker compose startдля остановки и запуска сервера. Но они полагаются на контейнер, сеть и другие вещи, которые Docker создает за кулисами и которые сохраняются между запусками. Восстановление системы, перемещение файлов между компьютерами или даже запуск других команд Docker, которые вы используете для других задач (будьте осторожны с docker prune!), могут удалить их.
Использование upи downбудет использовать подход с чистого листа и быть неизменно надежным. Однако он требует удаления, когда он не используется, и повторного создания, когда вы его используете. Однако не беспокойтесь: все ваши файлы PHP, JavaScript и CSS в созданном вами каталоге не будут удалены!
Подключение к серверу и создание вашего первого файла
Теперь, когда у вас запущен сервер, вы можете подключиться к нему с помощью своего любимого
Вы должны увидеть тестовую страницу, как показано на рисунке ниже.
Скриншот тестовой страницы сервера
Когда сервер запущен, пришло время создать ваш первый файл. Когда вы запускали
Используя ваш любимый текстовый редактор, создайте файл с именем test.htmlв websites/default/publicкаталоге, который содержит следующий код:
<! DOCTYPE html>
Hello World!
Теперь вы можете просматривать свою
Совет: вам может быть интересно, почему есть три уровня папок — websitesи default— publicвместо того, чтобы просто иметь publicкаталог с файлами в нем.
Среда настроена на размещение нескольких
Создайте каталог mysiteвнутри websitesкаталога.
Создайте каталог publicвнутри mysiteкаталога.
Поместите ваши
Любой каталог, который вы создаете внутри websitesкаталога, рассматривается как поддомен домена v.je. Если поддомен не указан и вы просто заходите на сайт v.je, он загрузит сайт из defaultкаталога.
Как мы увидим далее в книге, в publicцелях безопасности рекомендуется хранить определенные файлы вне каталога, поэтому у каждого
Примечание: текстовые редакторы, предоставляемые вашей операционной системой, такие как Блокнот или TextEdit, на самом деле не подходят для редактирования сценариев HTML и PHP. Тем не менее, есть несколько надежных текстовых редакторов с богатой поддержкой редактирования
Код Visual Studio (руководство по началу работы)
Атом (руководство по началу работы)
Возвышенный текст (Документация)
Все они очень похожи, и для целей этой книги любой из них является хорошим выбором и сделает вашу жизнь как разработчика намного проще, чем Блокнот или TextEdit.
Мы все настроены
В этой главе вы узнали, как настроить среду разработки PHP с помощью Docker и как разместить