Я использую error_reporting (E_ALL), чтобы показывать ошибки, и он отлично работает. В настоящее время я помещаю эту функцию на каждую страницу и код, для которых я хочу показать ошибку, это означает, что я использую ее сто раз в моем проекте. Есть ли способ, с помощью которого я не должен повторять эту функцию снова и снова, но он работает для всего сайта, например, для ввода заголовка или подключения к базе данных. Извините, если я спрашиваю что-то глупое, но просто хотел быть уверенным, что что-то подобное может работать и является обычной практикой.Отображение ошибок с error_reporting (E_ALL)
ответ
Есть несколько способов, чтобы идти об этом:
php.ini
Если у вас есть доступ к нему, вы должны настроить это в файле php.ini
. Таким образом, этот параметр будет применяться глобально, и вам не нужно будет включать эту функцию в каждый файл.
display_errors = On
error_reporting = E_ALL
.htaccess
Некоторые хостинг-провайдеры позволяют создать .htaccess
файл, который живет в корне вашего проекта. Ниже также может позволить ошибки в глобальном масштабе, а также позволяет избежать повторения кодовой
php_flag display_errors on
php_flag error_reporting 32767
http://php.net/manual/en/errorfunc.constants.php
файл содержит
Если все остальное терпит неудачу, вы можете продолжать, как вы или принять взглянуть на то, как ваш приложение/сайт выполняется. Если у вас есть следующий код в начале - самая большая точка входа вашего приложения, любые из них наследуют его. Это лучше всего подходит, если все запросы направляются в один и тот же файл.
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'otherstuff.php'; // will also display errors
Однако, если ваше приложение имеет несколько точек входа, рассмотрите возможность использования общих включений, чтобы вы, по крайней мере, не повторяли код.
includes.phperror_reporting(E_ALL);
ini_set('display_errors', 1);
index.php
include 'includes.php';
// other code
спасибо php.ini кажется лучшей практикой, у меня есть '; display_errors ; Значение по умолчанию: On ; Значение разработки: ; Производственное значение: Off' поэтому здесь мне нужно удалить точку с запятой до значения по умолчанию и вставить 'error_reporting()' под ним? –
@ bɪɡɪnə Yup, вам нужно удалить ';', поскольку это определяет, является ли строка комментарием. Однако вы захотите убедиться, что значение «Значение по умолчанию» отсутствует в фактическом значении. В целом, строки должны выглядеть точно, как я добавил их в ответ выше :) – Sean3z
Это общепринятая в PHP, чтобы включаемый файл, который содержит что-то необходимое для всего сайта для вещей, как больше этого –
общий для использования php.ini или .htaccess –