Что означает ошибка 500

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


Как найти, в чем проблема?

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


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


  • PrestaShop v1.4 - v1.5.2
    В файле config/config.inc.php в строке 29 (или немного выше или ниже) следующий код:
    @ini_set('display_errors', 'off');
    заменить на:
    @ini_set('display_errors', 'on');
  • PrestaShop v1.5.3
    В файле config/defines.inc.php в строке 28 (или немного выше или ниже) следующий код:
    define('_PS_MODE_DEV_', false);
    заменить на:
    define('_PS_MODE_DEV_', true);

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


Как решить проблему?

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

Права доступа: Попробуйте сменить права доступа к папкам с 777 на 755 и наоборот. В большинстве случаев устанавливать права 777 не рекомендуется, потому что это позволяет даже менее опытным хакерам получить доступ к вашим файлам и вставить туда вирусный код. На нашем хостинге установка прав 777 менее небезопасна, потому что для доступа к FTP все равно нужно иметь пароль, который знает только владелец аккаунта.

Неправильные настройки в .htaccess: Что касается PrestaShop, главными виновниками ошибки 500 могут быть настройки URL Rewrite либо включенная функция Friendly URL. Даже самая незначительная ошибка в синтаксисе файла .htaccess может стать причиной ошибки 500. Перед внесением изменений в этот файл обязательно сделайте его резервную копию.
Если в Вашем .htaccess есть строчки, которые начинаются с "php_value" и "php_flag", то с условиях работы с нашим хостингом нужно их удалить или закомментировать.

Лимит времени выполнения программного сценария (скрипта):обычно на хостингах лимит времени выполнения скрипта (max_execution_time) составляет 30 секунд. На ZZZ.com.ua он повышен и составляет 45 секунд. Чаще всего проблема с превышением этого лимита в Prestashop возникает в процессе импорта CSV-файлов, создании резервных копий и пр.

Если после рассмотрения этих причин проблему не удалось решить, нужно взглянуть на логи ошибок веб-сервера и РНР. Если у вас не VPS, а обычный (платный или бесплатный) хостинговый аккаунт, напишите в службу поддержки хостинга: {supportMail} или откройте тему в панели управления (Панель - Помощь — Создать тему).



Поддержка


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