Сервер нужен, потому что PHP сам собой не работает: файл index.php, открытый двойным щелчком, покажет вам исходный код вместо страницы. Кто-то должен этот код выполнить — этим и занимается сервер.

Что внутри

Три программы, которые вместе называют веб-сервером. Знать их подробно не нужно, но понимать роли полезно: когда что-то не работает, ошибка почти всегда приходит от одной из них.

Части локального сервера
Часть Чем занимается
Apache Принимает запрос браузера и решает, какой файл отдать
PHP Выполняет код страницы: собирает её из шаблона, чанков и данных
MySQL или MariaDB Хранит содержимое сайта: страницы, настройки, тексты
phpMyAdmin Окно в базу данных: посмотреть таблицы, создать новую базу

Порядок действий

Как работают локальные домены

Имя папки в home становится адресом. Папка easylogic.loc — и сайт открывается по http://easylogic.loc. Окончание .loc взято не с потолка: такого домена не существует в интернете, значит адрес никогда не перехватит настоящий сайт.

Работает это так: при запуске панель дописывает адрес в системный файл hosts — список, по которому компьютер решает, куда идти за сайтом. Строка 127.0.1.11 easylogic.loc означает «этот домен искать у себя, а не в интернете». Поэтому панель и просит права администратора: чужой программе такой файл менять не дают.

Одной папки мало

Панель считает проектом не всякую папку, а только ту, внутри которой есть служебный файл .osp\project.ini — в нём имя домена в квадратных скобках. Папка без него не появится ни в меню, ни в hosts, и адрес не откроется, сколько ни перезапускай. Список папок панель читает при запуске, так что перезапуск всё равно нужен.

Куда положить свою вёрстку

Прямо в папку сайта. Скопируйте туда свои HTML-файлы вместе с папкой assets, откройте локальный адрес — и прототип откроется точно так же, как открывался двойным щелчком, только уже по-настоящему: с правильными путями, с заголовками ответа сервера, без разницы между большими и маленькими буквами в именах файлов.

Это стоит сделать до установки CMS. Так вы убедитесь, что сервер работает, на знакомых страницах — и если дальше что-то сломается, будете знать, что дело не в нём.

Что обычно не работает

  • Модуль горит красным, а причина не видна. Откройте «Просмотр журналов», файл general.log. Самая частая строка — «Не удалось создать/открыть файл журнала… занят другим процессом»: от прошлого запуска остались php-cgi.exe или mysqld.exe, они держат файл, и модуль не стартует. Снимите их в диспетчере задач и включите модуль заново. Чтобы не повторялось — останавливайте сервер через меню, а не закрывайте панель на ходу.
  • Сервер не запускается совсем. Обычно занят порт 80 — тот, по которому работает обычный HTTP. Занять его могли Skype, встроенный в Windows веб-сервер IIS или другая сборка. Порт меняется в настройках, но лучше освободить 80: иначе адрес сайта превратится в easylogic.loc:8080 и приписку придётся таскать за собой до самого хостинга.
  • Антивирус удаляет файлы. Сборки локальных серверов часто попадают под подозрение. Лечится добавлением папки сервера в исключения — до установки, а не после.
  • Адрес не открывается. Проверьте по порядку: папка лежит в home, внутри неё есть .osp\project.ini, сервер перезапущен, домен виден в меню панели. И убедитесь, что в браузере набран адрес, а не поисковый запрос: непонятное слово браузер охотно отправляет в поиск.

Держать включённым не нужно

Сервер — обычная программа: запустили, поработали, выключили. В автозагрузку его добавлять не стоит, иначе он будет занимать память и порт всё время, даже когда вы играете. Привыкайте запускать его перед работой над сайтом — это одна кнопка.

Что просить у нейросети

Здесь нейросеть полезна не кодом, а разбором ошибок. Текст ошибки из журнала сервера, вставленный в запрос целиком, обычно объясняется с первого раза — гораздо быстрее, чем поиск той же строки в интернете.

Мой запрос

У меня Windows 11 и Open Server Panel. Сервер не запускается, в журнале такая строка:

[вставьте текст ошибки целиком]

Объясни, что означает эта ошибка, и дай порядок действий для проверки. Мне нужен PHP 8.4 и MySQL для установки Evolution CMS 3. Не предлагай переустанавливать Windows и менять сборку сервера — сначала разберёмся с этой.

Что должно получиться

  • Значок сервера зелёный, сервер запускается без ошибок
  • Выбран PHP 8.4, и версия видна в настройках
  • Домен виден в меню панели, его адрес открывается в браузере
  • phpMyAdmin открывается — значит база данных работает