У меня есть эта ошибка с Drupal 7
как я могу получить дополнительную информацию об этой ошибке? Любое сообщение, есть журнал где-нибудь? Ничего в php ошибках.
как отключить это сообщение и получить более полезное для отладки?
Заметка : Мой вопрос НЕ " как я могу исправить эту проблему "
Эта ошибка исходит от uncaught PHP exception. Drupal ловит исключения, поэтому пользователю не выдается некрасивое сообщение об ошибке PHP. Информацию об исключении можно найти в 'Недавние сообщения журнала ' ссылке на Reports (или попробуйте этот путь: /admin/reports/dblog). Убедитесь, что 'Журнал регистрации базы данных ' включен, так как этот модуль предоставляет этот отчет.
Вы увидите все сгенерированные внутренние сообщения. Фильтр по типу 'PHP' и Severity ' ошибка ' и вы' вероятно, найдете сообщение о не пойманном исключении. Это вызовет вашу проблему. Теперь у вас есть более подробная информация, чтобы вы могли ее исправить.
7
Если вы используете Drush, просто сделайте drush vset error_level 1
.
Иначе перейдите в "/admin/config/ development/logging
"
и измените настройку на "Errors and Warnings"
Вместо drush
vset
/vget
/vdel
, Вы можете использовать cset
/cget/cdel
для значений конфигурации и sset
/sget/
sdel` для значений состояния.
Отредактируйте свой settings.php и добавьте туда строку (особенно на вашем сайте разработчиков, вы можете просто оставить это включенным).
$conf['error_level'] = 1;
drush требует, чтобы вы могли загрузить базу данных.
EASY WAY for Drupal 8 **,
если вы можете't войти в систему для доступа к последним сообщениям журнала, как описано в принятом ответе.
Откройте файл /sites/default/settings.php
с помощью редактора или ftp-клиента и добавьте эту строку:
$config['system.logging']['error_level'] = 'verbose';
После перезагрузки страницы вы увидите полное сообщение об ошибке вместо общего "Веб-сайт столкнулся с неожиданной ошибкой". Пожалуйста, повторите попытку позже".
Эта ошибка исходит от [_drupal_log_error()
][1].
В качестве быстрого исправления для разработки вы можете обновить эту функцию, чтобы она выдавала более многословные сообщения об ошибках, но убедитесь, что вы изменили ее обратно до того, как сайт начнет работать :)
[1]: http://api.drupal.org/api/drupal/includes!errors.inc/function/_drupal_log_error/7
Это очень интересно, но если открыть исходник страницы (CTRL-U), то все предупреждения и сообщения об ошибках находятся там, они просто в скрытом элементе.
Поиск элемента-невидимого
.
Правка:
$conf['error_level'] = 1;
следует поместить и в settings.php
файл.
Проверьте в таблице watchdog
в MySQL.
Вы можете скачать Blob (столбец переменные
) и открыть его с помощью Блокнота.
Он покажет вам сериализованный объект с вашей ошибкой.
Чтобы ошибки были видны на вашем сайте Drupal, найдите файл index.php в главном каталоге вашего сайта. Откройте index.php и добавьте этот код непосредственно перед самой первой строкой файла:
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Вы также можете попробовать решить проблемы с журналами ошибок, как описано в [here...][1].
Это старая тема, но, как я столкнулся с этой же проблемой недавно предоставив свои входные данные. Я не смог получить доступ ни к одному из путей Drupal, так как всегда получал эту ошибку, несмотря ни на что. Это началось после того, как я обновил вид, так что я знал, что нужно сделать, но не смог открыть вид. Поэтому я просмотрел логи сервера Apache. Кроме вышеприведённого решения, такого как просмотр логов Drush и dblogs, вместо этого может быть полезно посмотреть лог-файлы сервера Apache, особенно когда вы не можете получить доступ ни к одному из путей приложения. Обычно они присутствуют в файле \logs\error.log и содержат подробности о необработанном исключении, месте, где оно генерируется и т.д. В качестве быстрого исправления вы можете прокомментировать код, который бросает исключение, и внести обновления в приложение. В моем случае я прокомментировал сообщение с кодом, что я смог попасть на просмотр и сделать необходимые обновления. Надеюсь, это поможет кому-нибудь в подобных ситуациях.