| 1 | | Проблема относится не столько к коду main.php, сколько к настройке обработки ошибок на веб-сервере. |
| 2 | | |
| 3 | | Для AJAX/backend-запросов часть обработчиков уже возвращает тело ответа: например backend/main_backend.php при перехваченной ошибке отдаёт HTTP 500 и JSON с текстом ошибки. |
| 4 | | |
| 5 | | Но если ошибка возникает при обычном открытии страницы и выполнение PHP аварийно прерывается до формирования HTML, то тело ответа формирует уже веб-сервер. Чтобы пользователь не видел пустую страницу, нужно настроить ErrorDocument для 4xx/5xx на уровне Apache. |
| 6 | | |
| 7 | | В локальной конфигурации Apache есть готовый файл: |
| 8 | | conf/extra/httpd-multilang-errordoc.conf |
| 9 | | |
| 10 | | В нём описаны страницы ошибок, включая 500 Internal Server Error, но подключение этого конфига в httpd.conf может быть отключено. |
| 11 | | |
| 12 | | У меня нет доступа к настройкам рабочего сервера, поэтому эту часть должен проверить и настроить администратор сервера, в данном случае Саша |
| | 1 | Отменено сообщение |