PHP
Как создать сайт на PHP: первый рабочий пример с локальным сервером
Короткий ответ: установите PHP, создайте папку проекта, добавьте файл index.php, запустите локальный сервер командой php -S localhost:8000 и откройте сайт в браузере по адресу http://localhost:8000
PHP-сайт — это не просто HTML-файл. Браузер сам по себе не выполняет PHP-код. Ему нужен сервер: локальный на вашем компьютере или настоящий на хостинге. Сервер запускает PHP, получает результат и отдает браузеру уже готовый HTML
Что нужно перед стартом
Проверьте, установлен ли PHP
php -v
Если команда показывает версию, можно начинать. Если команда не найдена, сначала установите PHP или используйте локальный пакет вроде XAMPP, Open Server, MAMP или встроенный PHP из вашей среды разработки
Для первого проекта достаточно обычного текстового редактора или Visual Studio Code. Сложная IDE не нужна
Создайте папку сайта
В терминале выполните
mkdir first-php-site
cd first-php-site
Создайте файл index.php
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Мой первый сайт на PHP</title>
</head>
<body>
<h1>Мой первый сайт на PHP</h1>
<p>
Сегодня: <?php echo date('Y-m-d'); ?>
</p>
</body>
</html>
Это обычная HTML-страница, внутри которой есть маленькая PHP-вставка. Функция date() формирует текущую дату, а echo выводит ее в HTML
Запустите локальный сервер
Находясь в папке проекта, выполните
php -S localhost:8000
Откройте в браузере
http://localhost:8000
Если вы видите заголовок и дату, сайт работает. Обратите внимание: открывать файл двойным кликом как file:///.../index.php не нужно. В таком режиме PHP-код не выполнится
Добавьте простую форму
Обновите index.php
<?php
$name = $_GET['name'] ?? '';
?>
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Форма на PHP</title>
</head>
<body>
<h1>Форма на PHP</h1>
<form method="get">
<label>
Ваше имя
<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>">
</label>
<button type="submit">Показать приветствие</button>
</form>
<?php if ($name !== ''): ?>
<p>Привет, <?php echo htmlspecialchars($name); ?></p>
<?php endif; ?>
</body>
</html>
Теперь страница умеет принять имя из формы и вывести приветствие. htmlspecialchars() нужен, чтобы пользовательский ввод не превращался в HTML-код на странице
Почему это уже сайт, но еще не production
Этот пример показывает механику: PHP получает запрос, обрабатывает данные и возвращает HTML. Но настоящий сайт требует больше: шаблоны, маршруты, база данных, защита форм, загрузка файлов, авторизация, нормальная структура папок и настройка хостинга
Для учебного старта это нормально. Не нужно сразу ставить фреймворк, если вы еще не поняли, как работает один файл index.php
Мини-практика
Добавьте второе поле city и выведите фразу вроде Привет, Динар из Казани. После этого попробуйте отправить пустую форму и сделайте проверку, чтобы приветствие показывалось только когда имя заполнено
Дополнительное упражнение: вынесите заголовок сайта в переменную $siteTitle и используйте ее в <title> и <h1>
Частые ошибки
Открывают PHP-файл двойным кликом Браузер не выполняет PHP. Запускайте локальный сервер и открывайте адрес localhost
Пишут PHP-код в HTML-файл Для выполнения PHP используйте расширение .php, например index.php
Не экранируют данные из формы Все, что пришло от пользователя, выводите через htmlspecialchars(), если это попадает в HTML
Сразу делают большой проект без структуры Начните с одного файла, затем постепенно отделяйте шаблоны, обработчики форм и подключение к базе
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- Laravel: первый route и controller для новичка
- PHP для WordPress: первый маленький shortcode
- PHP с нуля: первый файл и вывод на страницу
- PHP-скрипт: что это такое и как написать первый файл