Могу ли я действительно ничего не делать с фатальными ошибками разбора? - PullRequest
0 голосов
/ 06 июля 2019

Вопрос для начинающих: я потратил около 30 часов, пытаясь разобраться в обработчике ошибок, что очень важно, поскольку я не очень хороший программист.Я на 95% уверен, что ничего не могу сделать с фатально-фатальными ошибками, но я все еще на 5% полон надежд.

Мой обработчик ошибок работал нормально, отправляя электронные письма и текстовые сообщения, когда он сталкивался с проблемами, но затем я получил пустую страницу с просто:

Fatal error: Cannot use try without catch or finally 
in /directory/ etc ...filename.php on line 999

(я случайно удалил блок catch.) Вопрос: Кто-то где-то упомянул htaccess 500 страниц.

Я не понял, что было описано, когда я прочитал это.Я почти ничего не сделал с htaccess до сих пор.

Есть ли способ отключить какую-то статическую страницу?(Я на 95% уверен, что ничего не могу сделать, но я застрял и у меня все еще есть надежда на 5%, и это действительно важно для меня.) Я все еще использую PHP 5.6, но пока не хочу обновляться до 7.Поймать эти ошибки гораздо важнее для меня, чем предупреждения, уведомления, устаревшие и т. Д., Которые я могу поймать.

Обновление

Я видел этот вопрос и использовал некоторые из техник, НО ему 11 лет, он огромный, частично устарел и НЕ в первую очередь решает проблему, которую я сейчас хочу решить.

У меня нет проблем с "фатальными ошибками", такими как вызов несуществующей функции.Моя проблема связана с ошибками, обнаруженными при синтаксическом анализе сценария и его "невозможно исправить".В моем случае отсутствует catch, когда присутствует try.

Другой ответ отвечает на это по частям, но не так, как мне кажется.Я думаю, что, возможно, есть способ заставить ошибку 500 довольно извращенно, остановив отображение ошибок, которое я буду исследовать скоро / завтра.Буду благодарен за 24 часа проверить.Я очень рад, что кто-то более знающий может поставить лучший вопрос / ответ, и из этой ветки может быть взята полезная информация, но, откровенно говоря, это неудивительно после 11 лет.

Ответ - почти

Выключите display_errors и у вас появится ошибка 500.К сожалению, я не могу получить перенаправление .htaccess на работу (404 работает нормально).Если вы хорошо справляетесь с .htaccess, надеюсь, у вас будет немного радости.

В некоторых обсуждениях говорится о том, что около 500 ошибок являются «ОСНОВНЫМИ» ошибками и ДЕЙСТВИТЕЛЬНО невосстановимыми даже .htaccess.Мои журналы очень редки, и я не вижу никаких полезных указаний, если это так для catch, когда try присутствует ошибка.

(Большое спасибо @Dharman (если это работает)).PS Приведу в порядок это, когда / если я доберусь до конца этого.)

1 Ответ

0 голосов
/ 07 июля 2019

Я не думаю, что PHP может что-то делать с ошибками синтаксического анализа (или другими ошибками на этапе компиляции), но вы должны быть в состоянии настроить свой веб-сервер для отображения страницы ошибок по вашему выбору.

Вы не говорите, какой веб-сервер используете, но, например, для Apache это настройки Custom Error Response .Ваши ошибки будут HTTP 500 ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...