tgoop.com/phpshka/478
Last Update:
Как бороться с «загадочными» багами в PHP? 🤔
Сегодня хочу поговорить про одну из самых неприятных проблем в программировании — «загадочные» баги. Это те ошибки, которые возникают только в продакшене, исчезают при попытке дебага и доводят до нервного тика 😬.
🔍 Почему это происходит?
- Разные окружения — локально у вас PHP 8.2, а на сервере 7.4 (и вдруг match
ломает весь код).
- Необработанные ошибки — ошибки скрыты @
, а логи молчат.
- Состояние кэша — в OpCache или APCu залипла старая версия кода.
- Гонки потоков — скрипты выполняются параллельно и вмешиваются друг в друга.
🛠 Как с этим бороться?
1️⃣ Выключить OpCache на тестовом сервере
Это позволит быстрее проверять изменения и исключить залипание кода.
2️⃣ Настроить логирование
Включите error_reporting(E_ALL)
и убедитесь, что display_errors=Off
, а log_errors=On
с путём к файлу логов.
3️⃣ Сравнить окружения
Используйте phpinfo()
или php -m
для проверки версий PHP и установленных модулей.
4️⃣ Включить трассировку ошибок
Xdebug поможет отследить стек вызовов, а Laravel Telescope покажет внутренности запроса.
5️⃣ Повторить проблему на копии продакшена
Запустите код в Docker с конфигом продакшена или создайте staging-сервер.
6️⃣ Подключить мониторинг и алерты
Инструменты типа Sentry, Bugsnag или New Relic помогут ловить ошибки раньше, чем их заметят пользователи.
BY PHP Academy
Share with your friend now:
tgoop.com/phpshka/478