Вступление
К сожалению ошибки на Opencart бывают их причина не обязательно связана с неумелым администрированием. Вы вполне можете получить ошибку 500, Internal Service Error при удалении модуля или шаблона. Более часто, вы даже не увидите сообщение об ошибке, а получите «белый экран смерти», чистую страницу браузера.
Дело в том, что по умолчанию вывод ошибок системы по умолчанию отключен. Делается это из-за соображений безопасности и в рабочем состоянии вывод ошибок должен быть отключен всегда.
Включить отображение ошибок php в Opencart нужно только для отладки и исправления ошибки. После исправления показ ошибок нужно убрать.
Как включить отображение ошибок php в Opencart
Включить отображение ошибок php в Opencart можно несколькими способами.
Способ 1
Веб сервер Apache.
Чтобы включить показ ошибок, добавьте в конец файла .htaccess
корня такие строки:
php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on
Напомню файл .htaccess
переименовывается из коробочного файла htaccess.txt
и служит для управления веб-сервером Apache.
Способ 2
(PHP 4, 5, 7)
Файл php.ini
самого магазина работает, если ваш сервер разрешает пользовательские настройки над системными. Случается это не часто, но всё же.
Чтобы включить отображение ошибок php на Opencart найдите в файле php.ini
строку и поменяете off на on/
display_errors = On;
Также допишите в конец файла:
error_reporting = ~E_ALL;
Команда error_reporting
— задает тип ошибок отчета, значение E_ALL
означает, что попадут в отчет все ошибки.
Важно, что display_errors
не показывает ошибки старта PHP. Для их включения нужна директива:
display_startup_errors=On.
После исправления ошибок поменяйте On на Off и закомментируйте новые строки.
Способ 3
(PHP 4, 5, 7)
Есть вариант показать ошибки, подправив файл index.php
корня. Вставьте функции включения информации (после <?php
):
ini_set('error_reporting', E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1);
После исправления ошибки обязательно удалите эти строчки.
Предостережения
Отладка и исправления ошибок «по живому» дело хорошее, но напомню, что не все ошибки можно быстро исправить и на такой случай вам всегда нужно иметь резервную копию магазина для восстановления.
Во-вторых, перед правкой перечисленных в статье файлов делайте, как минимум их копию для резерва.
Вывод
Я показал, как включить отображение ошибок php в Opencart. Какой способ сработает на практике, зависит от настроек и конфигурации вашего сервера. Не забываем, что на сервере ведется журнал log ошибок. Правда, их тоже нужно включить в директиве: log_errors=Off
.
Документация
- php.net/manual/ru/ini.list.php
- php.net/manual/ru/function.ini-set.php
- php.net/manual/ru/function.error-reporting.php
©opencart.life