Ответ
Жизненный цикл PHP-приложения — это последовательность этапов обработки одного HTTP-запроса. Он начинается с получения запроса и заканчивается отправкой ответа, после чего все ресурсы освобождаются. Ключевая особенность PHP — его stateless-модель: каждый запрос обрабатывается изолированно, без сохранения состояния в памяти между запросами (если явно не используются сессии, кэш или внешнее хранилище).
Основные этапы:
- Получение запроса: Веб-сервер (Nginx, Apache) принимает HTTP-запрос и передаёт его PHP-обработчику (например, PHP-FPM или модулю
mod_php). - Загрузка и парсинг: Интерпретатор PHP загружает указанный скрипт, парсит его и компилирует в байт-код (opcodes).
- Выполнение: PHP выполняет скомпилированный байт-код. На этом этапе инициализируются скрипты, подключаются зависимости, выполняется бизнес-логика.
- Формирование ответа: Результат выполнения (HTML, JSON и т.д.) передаётся веб-серверу.
- Отправка ответа и завершение: Веб-сервер отправляет ответ клиенту. После этого PHP освобождает всю память, выделенную для этого запроса, уничтожает переменные и завершает работу.
Пример типичного скрипта, иллюстрирующего этапы:
<?php
// Этап инициализации: загрузка конфигурации и зависимостей
require 'vendor/autoload.php';
require 'config/database.php';
// Этап выполнения: основная логика
$router = new Router();
$controller = $router->resolve($_SERVER['REQUEST_URI']);
$response = $controller->handle($_REQUEST);
// Этап вывода
header('Content-Type: application/json');
echo json_encode($response);
// Этап завершения произойдёт автоматически — все объекты будут уничтожены