Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как включить отображение ошибок

Как включить отображение всех ошибок php при написании программы

Во время написания кода программы на языке программирования php хочется написать её не только быстро, но и правильно. Для этого можно поменять настройки отображения ошибок в конфигурационном файле php.ini . Но переключать каждый раз режим отображения ошибок и уровень их протоколирования накладно по времени, плюс нужно помнить, где на сервере лежит конфиг php. В этой статье рассмотрим простой и работающий способ переопределения констант, заданных в конфиге php.ini , в файле программы. Это позволит не только ускорить процесс написания кода, но и быстро отключать режим отладки, когда программа готова к запуску в продакшен.

Необходимый код для включения отображения всех ошибок и предупреждений php в работающей программе

Сначала приведу работающий код, который позволяет включить показ всех (кроме критических) ошибок и всех предупреждений, которые обычно отключены:

Теперь можно разобрать построчно, какие функции php задействованы, как они работают и что в итоге получается.

error_reporting() — функция работы с уровнем протоколируемых ошибок

Функция error_reporting() задает значение директивы error_reporting во время выполнения скрипта. В PHP есть много уровней ошибок. Используя эту функцию, можно задать уровень ошибок во время выполнения скрипта, которые попадут в отчет (или будут из него исключены). Если необязательный аргумент в скобках не задан, error_reporting() вернет текущее значение уровня протоколирования ошибок. Именно эта особенность позволяет сперва сохранить текущее значение уровня протоколирования, что мы и делаем в первой строчке, запоминая текущий уровень в переменную $errlevel :

Во второй строчке меняем уровень протоколирования (вывода) ошибок на значение -1 , воспользовавшись советом из официальной документации:

Если передать -1 , будут отображаться все возможные ошибки , даже если в новых версиях PHP добавятся уровни или константы. В версии PHP 5.4. передача константы E_ALL дает тот же результат.

Это выглядит следующим образом:

В конце работы скрипта, требующего отладки, можно вернуть уровень протоколирования, заданный в php.ini , который мы заблаговременно сохранили в переменную $errlevel . Именно это и происходит в предпоследней строке:

Переопределение переменных конфигурационного файла php.ini с помощью функции ini_set()

После того, как мы включили режим отображения всех ошибок и предупреждений, их нужно выдать на экран при работе отлаживаемого скрипта. Этот режим отладки обычно выключен, поэтому его нужно включить, переопределив некоторые переменные конфигурационного файла php.ini с помощью функции ini_set() , которая устанавливает значения переменных настройки конфигурации работы php.

Включение/отключение отображения ошибок при выполнении скрипта директивой display_errors

Для того, чтобы увидеть отображение ошибок и предупреждений при выполнении скрипта, нужно выставить значение ‘On’ или 1 директиве display_errors :

После того участка программы, которая требует отладки, можно снова отключить отображение ошибок php. Именно это и происходит в последней строке приведённого выше кода (возврат значения ‘Off’ , которое используется в конфиге php по умолчанию):

Подсветка отображаемых ошибок и предупреждений, выдаваемых при включенном display_errors

В принципе, приведённого кода, описанного выше, достаточно. Но мне удобнее, когда ошибки выводятся другим цветом, чем основой вывод, генерируемый при работе отлаживаемого скрипта. Для этого необходимо экранировать выводимые ошибки и предупреждения HTML-кодом. Для этого я использовал простейшее изменение цвета выводимого шрифта с помощью тега font , что конечно можно усложнить, вписав тот код, который наиболее подходит решаемой задаче, задав какие угодно css-стили для подсветки ошибок и предупреджений. Можно даже задать отдельный класс и выводить его из отдельного css-файла. Но, я решил не усложнять.

Директива error_prepend_string

Директива error_prepend_string задаёт строку, которая будет выводиться непосредственно перед сообщением об ошибке. В нашем коде она имеет вид:

Директива error_append_string

Директива error_append_string задаёт строку, которая будет выводиться после сообщения об ошибке. В нашем коде она имеет вид:

Как происходит вывод ошибок PHP и других программных багов

Дата публикации: 2016-10-17

От автора: приветствую вас, дорогие читатели.… Откуда шишка на лбу? Это я вчера грабли нашел на даче, которые потерял в прошлом году. В общем, все банально: сам забыл – сам наступил. Хорошо, что вывод ошибок PHP происходит не с помощью граблей. Хотя на этом тоже можно набить замечательные «шишки»!

Если ошибки не видны?

Если при выполнении кода у вас не отображаются ни предупреждение (warning), ни ошибки (errors), ни исключения (exception), то значит вы талантливый разработчик. Но при условии, что написанные вами программы работают. Хотя может быть и другая причина, почему все идет так гладко – вы забыли включить ошибки PHP. Точнее, их вывод. Это можно сделать несколькими способами:

В настройках веб-сервера Apache (файл .htaccess).

В настройках языка (php.ini).

Напрямую в коде.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Следует отметить, что хостеры, предоставляющие виртуальное пространство, часто отключают вывод ошибок. Это делается для обеспечения безопасности ресурсов, размещенных на данной площадке. Поэтому вам повезло, если к вашему сайту подключен Apache. Тогда можно, прописав несколько строк, активировать отображение всех errors и warning. Для этого зайдите в .htaccess (если нет, то создаем) и прописываем следующие строки:

В PHP, чтобы включить вывод ошибок используются две директивы:

display_errors – включает или отключает отображение сообщений об ошибках.

error_reporting – устанавливает, какие именно «баги» следует выводить. Задается числом или константой.

Больше информации по принимаемым значениям констант можно «почерпнуть» из технической документации к языку. Благо, PHP хорошо описан.

А как же Денвер?

Не волнуйтесь, я не забыл о нем. В «наборе для джентльменов» включение отображения «багов» настраивается в php.ini. Он является главным средством конфигурации языка в этом и других подобных программных наборах.

Спасибо создателям Denwer! Они все правильно продумали, и поэтому заранее активировали все основные (нужные) параметры. В том числе и «трансляцию» сообщений об ошибках в программном коде.

На следующем снимке обозначены настройки и их значения, которые должны быть прописаны в файле конфигурации языка, чтобы включить отображение ошибок PHP.

Явная активация

Если не уверены, что хостер включил отображение «багов». Или нужно «перекрыть» параметры, заданные в конфигурационных файлах, тогда используйте явную активацию в коде скрипта.

Вывод PHP-ошибок

Часто для вебмастеров существует задача во время отладки работы сайта, выводить ошибки, которые возникают при работе PHP. Иногда эта возможность включена на хостинге изначально, а иногда — нет.

Читать еще:  Ошибка ошибка сети google chrome

Как включить показ ошибок PHP?

1. Через .htaccess

В файл .htaccess добавляем код:

php_flag display_errors on
php_value error_reporting 2047

2. Через php.ini

В файле php.ini устанавливаем такое значение для следующих директив:

display_errors = On
error_reporting = E_ALL

3. Через PHP-скрипт

Для этого используется функция error_reporting() и вот примеры ее использования:

// Выключить отчеты об ошибках
error_reporting(0); // Добавлять в отчет все PHP ошибки
error_reporting(E_ALL); // Аналогично error_reporting(E_ALL);
ini_set(‘error_reporting’, E_ALL); // Показывать в отчете часть ошибок ошибок
error_reporting(E_ERROR | E_WARNING | E_PARSE); // Аналогично предыдущему, но будут показываться еще ошибки связанные с перенеменными
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // Будут показываться все ошибки кроме E_NOTICE
error_reporting(E_ALL &

Выключение показа ошибок PHP

После отладки PHP-скриптов большинство экспертов рекомендует отключать показ ошибок. Сделать это можно изменив значения вышеописанных параметров на «off».

Юзеры ( 0 ) оценили на 0 из 5

Настоятельно рекомендуем не покупать слишком дешевый хостинг! Как правило с ним очень много проблем: сервер иногда не работает, оборудование старое, поддержка долго отвечает или не может решить проблему, сайт хостера глючит, ошибки в регистрации, оплате и т.д.

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

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

Виртуальный хостинг — подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

VPS — подходит для более сложных проектов с достаточно большой нагрузкой и посещаемостью до 10000 человек в сутки. Здесь мощность сервера фиксированная для каждого виртуального сервера, при этом сложность настройки увеличивается.

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

Размещение и обслуживание вашего собственного сервера в дата-центре хостинга — это не очень популярная услуга и требуется в исключительных случаях.

CMS — это система управления контентом сайта. Хостеры стараются для каждой из них делать отдельный тариф или упрощать установку. Но в целом это больше маркетинговые ходы, т.к. у большинства популярных CMS нет специальных требований к хостингу, а те что есть — поддерживаются на большинстве серверов.

Тестовый период — предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

Moneyback — период на протяжении которого хостер обязуется вернуть деньги, если вам не понравится хостинг.

Означает какая операционная система установлена на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Абузоустойчивый хостинг — компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

Безлимитный хостинг — хостинг у которого отсутствуют лимиты на количество сайтов, БД и почтовых ящиков, трафик, дисковое пространство и т.д. Обычно это больше маркетинговый трюк, но можно найти что-то интересное для себя.

Безопасный хостинг — тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их «лечить».

Защита от DDOS — компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ASP.NET — платформа для разработки веб-приложений от Майкрософт.

От панели управления зависит ваше удобство в настройке хостингесайта.

Большинство качественных хостингов из нашего ТОПа используют удобные панели управления, поэтому рекомендуем больше внимания уделить другим параметрам при выборе.

Как скрыть все ошибки PHP с помощью .htaccess

В этом уроке мы научимся такой вещи как сокрытие ошибок PHP. Попутно мы также разберём, как не просто подавлять вывод этих ошибок, но и как записывать их в файл журнала, как защитить этот файл журнала, как настроить уровень сообщения об ошибках PHP (насколько серьёзные ошибки показывать, показывать ли предупреждения), научимся устанавливать максимальный размер строки ошибки и отключим запись повторяющихся ошибок.

Нужно ли прятать PHP ошибки

PHP ошибки выдают самую разнообразную информацию, которая позволяет нападающим собрать данные о вашем сайте и вашем сервере. Но если бы на этот вопрос был однозначный ответ «да», то всё решалось бы добавлением в каждый файл с программами PHP одной единственной строки

На самом деле, все ошибки, в том числе и предупреждения (некритические ошибки) нужно выводить на стадии тестирования. Вывод ошибок и предупреждения также поможет разобраться в имеющихся (или возможных) проблемах в рабочем окружении. Не стоит подавлять вывод ошибок и предупреждений в программах, предназначенных для свободного распространения, поскольку при возникновении проблем все репорты пользователей о проблемах будут одинаковыми: «там белый экран», что сильно затруднит попытки разобраться.

В общем, на серверах, предназначенных для разработки (например, на домашнем сервере), не нужно убирать ошибки и предупреждения PHP методами error_reporting(0); и @ – нужно изучить их причины и исправлять исходный код.

На рабочих серверах крайне рекомендуется не показывать всем ошибки, которые возникли в PHP коде, но рекомендуется не просто подавлять их показ, но ещё и вести их лог, записывать для системного администратора и для программиста на PHP — из этих логов они получат важную информацию о возможных проблемах на сайте/сервере.

Как включить журналирование ошибок PHP посредством .htaccess

В этой части урока я покажу пользователям Apache как подавить вывод ошибок PHP и скрыть их от посетителей, при этом будет включена запись PHP ошибок для их дальнейшего анализа, вся эта настройка будет осуществлена через файл .htaccess.

Вообще, этот способ обладает ещё одним замечательным плюсом — вместо того, чтобы пытаться переловить все PHP ошибки и предупреждения, мы каждое из них будем записывать в наш личный лог, благодаря этому не ускользнёт ни одна возникшая ошибка, даже если она возникла не у вас, а у кого-то посетителя вашего сайта при условиях которые, может быть, вам бы даже и в голову не пришли для моделирования. Благодаря магической мощи файла .htaccess есть простой способ реализовать эту эффективную стратегию.

Читать еще:  Ошибка при запуске приложения 0xc0000142 фортнайт

Прячем PHP ошибки от посетителей

Есть разные способы подавить ошибки PHP посредством .htaccess. Это можно сделать включением следующих директив .htaccess в файл вашего домена httpd.conf или в корневую (или любую другую целевую директорию) файла .htaccess со следующим содержимым:

Это приведёт к тому, что PHP ошибки больше не будут публичными на вашем сайте. Это исключает потенциальные риски безопасности, и не даёт этим уродским, непонятным PHP ошибках поломать вёрстку вашего сайта и дезориентировать ваших посетителей. Редактирования кода для этого не требуется.

Включение личного журнала PHP ошибок

Теперь, когда мы спрятали PHP ошибки от общественности, давайте включим их журналирование (запись), чтобы мы могли их отследить. Это делается добавлением следующих директив .htaccess к файлу вашего домена httpd.conf или в ваш файл .htaccess, который размещён в корневой (или любой целевой) директории.

Чтобы это заработало, вам нужно отредактировать путь в последней строчке в соответствии с действительным расположением вашего файла PHP_errors.log. Конечно, вместе с этим вам нужно создать этот файл и дать ему разрешения 755 или, если необходимо, 777. Наконец, вам нужно обезопасить этот файл журнала, добавив эти завершающие строки кода в ваш файл .htaccess:

Теперь, когда всё на месте, проверьте, что всё работает как следует, вызовите несколько ошибок PHP. Вы также, возможно, захотите проверить защиту вашего файла журнала, попробовав получить к нему доступ через браузер.

Продвинутая обработка ошибок PHP с помощью .htaccess

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

Контролирование уровня сообщения ошибок PHP

Используя .htaccess возможно настроить уровень сообщения ошибок, который подходит под ваши практические нужды. Общий форт для контролирования уровня ошибок PHP следующий:

Есть несколько распространённых значений, которые можно подставить вместо «цифра», в том числе:

  • Самое полное сообщение об ошибках (соответствует E_ALL) — для этого используйте значение «32767».
  • Полное сообщение об ошибках — для полной записи ошибок PHP используйте величину «8191», которая включит запись всего, кроме уведомлений времени выполнения об использовании устаревших конструкций (предупреждения о коде, который не будет работать в следующих версиях PHP).
  • Сообщение об ошибках Zend — для записи как фатальных, так и не фатальных предупреждениях времени компиляции, генерируемых скриптовым движком Zend, используйте «192».
  • Сообщение о базовых ошибках — записывать уведомления времени выполнения. Указывают на то, что во время выполнения скрипта произошло что-то, что может указывать на ошибку, хотя это может происходить и при обычном выполнении программы. Для этого используйте цифру «8».
  • Минимальное сообщение об ошибках — записывать только фатальные ошибки времени выполнения. Это неустранимые средствами самого скрипта ошибки, такие как ошибка распределения памяти и т.п. Выполнение скрипта в таком случае прекращается. Для этого используйте цифру «1».

Конечно можно использовать и другие значения («цифры») для тонкой настройки того, какие именно ошибки вы хотите фиксировать. Некоторые разъяснения по данному вопросу в самом низу.

Настраиваем максимальный размер файла для записей ваших ошибок

Используя .htaccess вы можете определить максимальный размер для ваших ошибок PHP. Имеется ввиду контроль размера каждой записанной ошибки, а не всего файла в целом. Синтаксис имеет следующий вид:

Здесь «целове_число» представляет максимальный размер каждой записанной строки ошибки в байтах. По умолчанию значение равно «1024» (т. е. 1 килобайт). Чтобы удалить этот лимит можно установить значение «0». Помните, .что это значение также применяется для отображаемых ошибок, когда они включены (например, во время разработки).

Отключение записи повторяющихся ошибок

Если вы уже успели поработать с журналом ошибок, вы могли обратить внимание, что в нём множество похожих записей, которые различаются только временем события. От этой избыточности можно избавиться, просто добавьте в файл htaccess эти строки:

При таких настройках повторяющиеся ошибки не будут записываться в ружнал, даже если они случились в различных источниках или адресах. Если вы хотите отключить повторяющиеся ошибки только из одного источника или файла, просто закомментируйте или удалите последнюю строку. И наоборот, чтобы убедиться, что ваш файл журнала событий включает все повторяющиеся ошибки, измените обе величины с on на off.

Собираем всё вместе — рабочее окружение

Обсудив особенности настройки записи ошибок PHP, давайте соберём все наши записи в один файл .htaccess. Данные настройки оптимизированы для рабочего окружения.

Если вы считаете хорошим стилем код с пояснениями, то этот же код, но с комментариями:

Приведённая стратегия идеальна для публичного сервера в рабочем окружении. Все ошибки скрыты от посторонних глаз, при этом они аккуратно собираются для администраторов и программистов. Конечно, вы можете настроить приведённые директивы под себя, чтобы они идеально подходили под ваши задачи. А теперь давайте рассмотрим стратегию работы с ошибками для окружения разработки.

Собираем всё вместе — окружение разработки

Разрабатывая или отлаживая программу, удобнее отслеживать возникающие PHP ошибки в режиме реального времени, прямо в браузере. Пример .htaccess с соответствующими настройками под окружение разработки приведён ниже:

Не будем объяснять каждую строку — вы можете посмотреть соответствующие разъяснения чуть повыше.

Подсказки

Чтобы узнать абсолютный путь до лог файла на сервере методами PHP (для директивы php_value error_log)

Пример .htaccess для сервера на Widnows, установленного по этой инструкции.

Не работает

Этот способ не применим на хостингах, где PHP работает как CGI (возможные пути решения будут показаны в следующей статье).

0 для отображения всех ошибок PHP

В директиве php_value error_reporting для отображения всех ошибок можно указать -1 или

0. Т.е. строки выглядят так:

Причём более правильным считается именно второй способ, т. е. с использованием

Предопределенные константы и побитовые операции error_reporting

Для ознакомления рекомендуются следующие страницы справки PHP

Например, если мы хотим записывать ТОЛЬКО следующие ошибки E_ERROR (значение 1), E_WARNING (значение 2), E_CORE_ERROR (значение 16), то для получения соответствующейо числовой величины следовало бы перевести эти величины в двоичные числа и произвести соответствующие побитовые операции, а потом полученное двоичное число перевести в десятеричное. Тем не менее, эту операцию можно упростить — достаточно сложить значения десятеричных чисел. Т.е. в нашем случае это 1+2+16=19

Читать еще:  Ошибка аутентификации вай фай

будет отображать ошибки E_ERROR, E_WARNING и E_CORE_ERROR.

Пример абсолютного пути до лог файла на хостинге Hostland (для директивы php_value error_log)

Вместо host900456 нужно указать ваш аккаунт.

Вместо codeby.net нужно указать ваш домен.

Кстати, хороший хостинг, на котором работает этот самый сайт. Рекомендуем!

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Как получить ошибки PHP для отображения?

Я проверил мой PHP ini установлены ошибки файла и отображения, а также отчеты об ошибках E_ALL . Я перезапустил свой веб-сервер Apache.

Я даже поставил эти строки в верхней части моего скрипта, и он даже не ловит простые ошибки разбора. Например, я объявляю переменные с помощью «$» и я не закрываю заявления «;» . Но все мои скрипты показывают пустую страницу на этих ошибках, но я хочу на самом деле увидеть ошибки в моем браузере.

что остается делать?

24 ответов

это всегда работает для меня:

однако это не делает PHP показывать ошибки разбора — единственный способ показать эти ошибки-изменить ваш php.ini с этой строки:

вы не можете поймать ошибки разбора при включении вывода ошибок во время выполнения, потому что он анализирует файл перед фактическим выполнением чего-либо (и поскольку он сталкивается с ошибкой во время этого, он ничего не будет выполнять). Вам нужно будет изменить фактическую конфигурацию сервера, чтобы display_errors был включен и использовался уровень approriate error_reporting. Если у вас нет доступа к PHP.ini, вы можете использовать .htaccess или аналогичный, в зависимости от сервера.

этот вопрос может предоставить дополнительную информацию.

внутри php.ini:

затем перезапустите веб-сервер.

для отображения всех ошибок нужно:

1. Имейте эти строки в скрипте PHP, который вы вызываете из браузера (обычно index.php ):

2.(a) убедитесь, что в этом скрипте нет синтаксических ошибок

2.b) Set display_errors = On в своем php.ini

в противном случае он даже не может запустить эти 2 строки!

вы можете проверить синтаксические ошибки в вашем скрипте, запустив (в командной строке):

если вы включить скрипт из другого PHP скрипта, тогда это будет отображение синтаксических ошибок в входит сценарий. Например:

index.php

my_script.php

некоторые хостинг-провайдеры позволяют изменять параметры PHP в .реврайт.

вы можете добавить следующую строку:

У меня была та же проблема, что и у вас, и это решение исправило ее.

вы можете обнаружить, что все настройки «отчеты об ошибках» или «ошибки отображения» не работают в PHP 7. Это потому, что обработка ошибок изменилась. Попробуйте вместо этого:

или, чтобы поймать исключения и ошибки на одном дыхании (это не обратно совместимо с PHP 5):

Это будет работать:

это лучший способ написать его, но синтаксическая ошибка дает пустой вывод, поэтому используйте консоль для проверки синтаксических ошибок. Лучший способ отладки PHP-кода — использовать консоль; выполните следующее:

установите это в свой .в PHP

создайте файл с именем php.ini в папке, где находится ваш PHP-файл.

внутри php.ini добавьте следующий код (я даю простую ошибку, показывающую код):

для более подробного объяснения ошибок PHP посетите ошибка PHP-error_reporting ().

при использовании PHP в качестве модуля Apache мы можем изменить параметры конфигурации, используя директивы в файлах конфигурации Apache (например, httpd.conf) и .htaccess файлы. Для этого вам понадобятся привилегии «AllowOverride Options» или «AllowOverride All».

если вы каким-то образом окажетесь в ситуации, когда вы не можете изменить настройку через php.ini или .htaccess вам не повезло с отображением ошибок, когда ваши PHP-скрипты содержат ошибки синтаксического анализа. Тогда вам придется принять решение проверка файлов в командной строке такой:

если ваш хост настолько заблокирован, что он не позволяет изменять значение через php.ini или .htaccess , Он также может запретить изменение значения через ini_set . Вы можете проверить это со следующим PHP скриптом:

If, несмотря на все приведенные выше ответы (или вы не можете редактировать свой php.ini-файл), вы все еще не можете получить сообщение об ошибке, попробуйте создать новый файл PHP, который позволяет сообщать об ошибках, а затем включить файл проблемы. например:

несмотря на то, что все установлено правильно в моем php.ini файл, это был единственный способ поймать ошибку пространства имен. Мой точный сценарий был:

как мы работаем PHP7, ответы здесь не исправить уже. Единственный, кто все еще в порядке, — это Фрэнк Форте, когда он говорит о PHP7. С другой стороны, вместо того, чтобы пытаться поймать ошибку с помощью try/catch, вы можете использовать трюк: используйте include. Здесь 3 части кода:

запуск этого в PHP7 ничего не покажет

а теперь попробуйте это:

: tst2.в PHP : tst3.в PHP

Теперь запустите tst2, какой набор отчетов об ошибках включают tst3. Вы увидите:

ошибка синтаксического анализа: синтаксическая ошибка, неожиданный конец файла, ожидание переменной (T_VARIABLE) или $< (T_DOLLAR_OPEN_CURLY_BRACES) или <$ (T_CURLY_OPEN) в tst3.php on line 4

вы можете сделать что-то вроде ниже :

задайте ниже параметры в главном индексном файле

после этого основанный на вашем требовании вы можете выбрать которое вы хотите показывать:

для всех ошибок, предупреждения и уведомления

Для Всех Ошибок

Для Всех Предупреждений

Для Всех Обратите Внимание

более подробная информация здесь

обычно я бы пошел со следующим кодом в моем простом проекте php, который очень мал, если проект вырастет большим, я буду рекомендовать.

надеюсь, что это помогает.

вы можете добавить свой собственный обработчик ошибок, который может предоставить дополнительную информацию об отладке. Кроме того, вы можете настроить его для отправки по электронной почте.

E_DEPRECATED); register_shutdown_function(«shutdownFunction»); set_exception_handler(«EXC_HANDLER»);

лучшее / простое / быстрое решение, которое вы можете использовать, если это быстрая отладка, — окружить ваш код исключениями ловли. Это то, что я делаю, когда хочу быстро проверить что-то на производстве.

надеюсь, это поможет.

этот код сверху должен работать error_reporting (E_ALL);

однако попробуйте отредактировать код на телефоне в файле

вот что я узнал. в PHP.INI файл

пока ваш сайт работает, php.ini-файл должен иметь display_errors отключен по соображениям безопасности. Однако для среды разработки display_errors можно включить для устранения неполадок.

если у вас установлен xdebug, вы можете переопределить все настройки, установив:

тип: int, значение по умолчанию: 0, введенное в Xdebug >= 2.3, если это параметр имеет значение 1, то ошибки всегда будут отображаться, независимо от какова настройка display_errors PHP.

Ссылка на основную публикацию
Adblock
detector