Логи PHP в Docker
Логи PHP - это текст, который интерпретатор напечатал, пока сервис шёл в фоне. Строка из error_log не попадает в окно терминала после фонового подъёма, но остаётся в журнале службы.
При каждом запросе
сценарий пишет ready
в журнал и отдаёт hello:
<?php
error_log('ready');
echo 'hello';
Код лежит в образе.
Файл Dockerfile:
FROM php:8.5-fpm
COPY index.php /var/www/html/index.php
Nginx на 8080
связан с собранным app.
Файл default.conf
с fastcgi_pass app:9000
монтируют в web
как в связке nginx и FPM.
Файл compose.yaml:
services:
web:
image: nginx
ports:
- "8080:80"
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
app:
build: .
Сначала поднимем проект в фоне:
docker compose up -d --build
Откроем localhost:8080
в браузере, чтобы FPM
выполнил сценарий.
Затем прочитаем накопленный
текст службы app.
В журнале есть строка
ready:
docker compose logs app
Поднимите сервис note в фоне со строкой boot в журнале при работе сценария на порту 8080.
Найдите напечатанную строку в тексте службы note.