В этом уроке мы сделаем первый PHP-файл index.php, запустим локальный сервер и выведем переменную на страницу. Не будем начинать с истории языка и споров про старый PHP. Нам важнее понять базовую механику: браузер отправляет запрос, PHP выполняется на сервере, а пользователь получает готовый HTML
В конце вы откроете http://localhost:8000 и увидите страницу, собранную из PHP-кода
Что получится в конце
Файл index.php:
<?php
$name = 'Алия';
$lesson = 'первый PHP-файл';
?>
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Первый PHP</title>
</head>
<body>
<h1>Привет, <?= htmlspecialchars($name) ?></h1>
<p>Это <?= htmlspecialchars($lesson) ?>.</p>
</body>
</html>
Запуск:
php -S localhost:8000
Откройте в браузере:
http://localhost:8000
Что нужно заранее
Нужен установленный PHP. Проверьте:
php -v
Если команда показывает версию, можно продолжать. Если PHP не найден, откройте Как установить PHP локально: XAMPP, Open Server, Docker
Для первого урока не нужен Apache, Nginx или хостинг. В PHP есть встроенный сервер для разработки. Он подходит для локального обучения, но не для production
Создаем index.php
Создайте папку:
mkdir php-first
cd php-first
Создайте файл index.php:
<?php
echo 'Привет из PHP';
Запустите сервер:
php -S localhost:8000
Откройте http://localhost:8000. Если видите текст, PHP выполняется правильно
Почему нельзя просто открыть файл
Если дважды кликнуть index.php, браузер может показать код или попытаться скачать файл. Это не запуск PHP. PHP должен быть обработан сервером: встроенным сервером, Apache, Nginx с PHP-FPM, XAMPP, Open Server, Docker или хостингом
HTML браузер понимает сам. PHP браузер не выполняет. Сервер выполняет PHP и отправляет браузеру результат
Это ключевая разница, которую важно поймать в самом начале
PHP внутри HTML
Теперь сделаем страницу:
<?php
$name = 'Алия';
?>
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Первый PHP</title>
</head>
<body>
<h1>Привет, <?= $name ?></h1>
</body>
</html>
Короткая запись <?= $name ?> означает «выведи значение». Она удобна в шаблонах, где PHP вставляет данные в HTML
Зачем htmlspecialchars уже в первом уроке
Если значение приходит от пользователя, нельзя выводить его в HTML как есть. Для безопасного вывода используйте:
<?= htmlspecialchars($name) ?>
В нашем примере $name задан руками, но привычку лучше заложить сразу. В уроке про формы это станет особенно важно: пользователь может отправить не только имя, но и HTML-код
Переменные в PHP
Переменная начинается с $:
$name = 'Алия';
$lessonsDone = 1;
Строки можно писать в одинарных или двойных кавычках. Для первого шага проще держаться одинарных, а переменные вставлять явно через вывод:
<p>Уроков пройдено: <?= $lessonsDone ?></p>
Каждая инструкция PHP обычно заканчивается ;. Если забыть точку с запятой, будет синтаксическая ошибка
Частые ошибки
Браузер показывает PHP-код. Файл открыт напрямую или сервер не обрабатывает PHP. Запустите php -S localhost:8000 из папки проекта
Порт занят. Если 8000 уже используется, запустите php -S localhost:8001
Команда php не найдена. PHP не установлен или не добавлен в PATH
Белая страница. В коде может быть ошибка, но отображение ошибок отключено. Для диагностики пригодится Ошибки PHP: белый экран, error log и display_errors
Что может быть еще интересно по этой теме
PHP нужен новичку в 2026 году? Да, если вы работаете с WordPress, хостингами, формами, небольшими backend-задачами или хотите понимать старые и новые PHP-проекты
Можно ли учить PHP без HTML? Теоретически можно, но практически PHP часто отдает HTML или JSON. Минимальный HTML сильно помогает
Чем PHP отличается от JavaScript в браузере? PHP выполняется на сервере до отправки страницы. JavaScript в браузере выполняется уже у пользователя
Что открыть после первого файла? Формы. Они быстро показывают, зачем PHP вообще нужен на сайте
Что открыть дальше
- Как установить PHP локально: XAMPP, Open Server, Docker — если команда
phpне работает. - Формы в PHP: GET, POST и первая обработка — первый настоящий сценарий с пользовательским вводом.
- Массивы в PHP: обычные, ассоциативные и foreach — чтобы выводить списки, меню и таблицы.
- Ошибки PHP: белый экран, error log и display_errors — если страница молчит вместо результата.



