Включение отладочного режима

Включение отладочного режима

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

Отображение ошибок

Для PrestaShop 1.4 и 1.3

Для отображения ошибок в файле config\config.inc.php заменяем

@ini_set('display_errors', 'off'); 
define('_PS_DEBUG_SQL_', false);

на

@ini_set('display_errors', 'on'); 
define('_PS_DEBUG_SQL_', true);

Вторая строчка позволяет дополнительно отображать ошибки, возникающие при выполнение SQL запросов.

Для PrestaShop 1.5

В файле config\defines.inc.php заменяем

define('_PS_MODE_DEV_', false);

на

define('_PS_MODE_DEV_', true);

Логирование ошибок

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

Для этого в .htaccess добавляем следующие строчки:

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/path/public_html/domain/PHP_errors.log
php_value error_reporting -1
php_value log_errors_max_len 0

Где /home/path/public_html/domain/ путь к директории с вашим сайтом. Предварительно нужно создать PHP_errors.log и выставить для него права на запись.

Настройка Smarty

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

Для отладки шаблонов Smarty нужно в config\smarty.config.inc.php раскомментировать (удалить / /) строку:

$smarty->debugging		= true;

Также может вызывать недоумение ситуация, когда изменения в шаблоне не приводят к ожидаемому результату. Это происходит по причине того, что шаблоны компилируются в php код, и затем кэшируются. Чтобы этого не происходило нужно в config\smarty.config.inc.php заменить:

$smarty->force_compile	= false;

на

$smarty->force_compile	= true;
ustranenie-oshib/vkljuchenie-otladochnogo-rezhima.txt · Последние изменения: 2015/12/27 16:22 (внешнее изменение)