Главная

Добавить комментарий

Ошибки Drupal и способы решения

28-04-2025

В данной статье я буду писать об ошибках CMS Drupal (когда вы всё сделали как вам кажется, а сайт почему-то не запускается). По мере возникновения ошибок с которыми я столкнусь в процессе работы, я буду дополнять данную статью.

Никогда не спешите сразу всё удалять и ставить по новой. Иногда проблема решается довольно быстро. Как правило, все вопросы почему сайт на CMS Drupal не запускается появляются по следующим причинам:

1. Неправильные настройки.

1. Вы что-то упустили в настройках файлов setting.php (проверьте всё спокойно, каждую строку ваших настроек), .htaccess (попробуйте заменить стандартным файлом и протестировать) или вы не назначили папку web корневой (при стандартной установке Drupal с помощью composer).

2. У хостинга был сбой и надо проверить настройки.

Сегодня обновляя сайт на хостинге получил такую ошибку по завершению обновления:

Fatal error: Declaration of Drupal\Core\ProxyClass\File\MimeType\ExtensionMimeTypeGuesser::guessMimeType($path): string must be compatible with Symfony\Component\Mime\MimeTypeGuesserInterface::guessMimeType(string $path): ?string in /home/xxxx/xxxx.xxx/web/core/lib/Drupal/Core/ProxyClass/File/MimeType/ExtensionMimeTypeGuesser.php on line 15

При проверке оказалось сбой на хостинге.

Именно на этом домене ранее была установлена версия PHP 7.4, которая почему-то стала версией PHP 7.1. А как вы знаете Drupal нужна для работы версия PHP не ниже 7.3.

Попытка сменить версию PHP самостоятельно не увенчалась успехом. Но техподдержка решила этот вопрос в течении 5 минут.

3. Если у вас на сайте Drupal выскочила ошибка:

The website encountered an unexpected error. Please try again later.

Вариант А. Вы можете войти в админ панель.

Перейдите по адресу /admin/reports/dblog и посмотрите все ошибки. Конечно если модуль Database logging был до этого включен.

Вариант Б. Вы не можете войти в админ панель.

Откройте файл /sites/default/settings.php и вставьте в его конец следующую строку:

$config['system.logging']['error_level'] = 'verbose';

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

4. Вместо запуска сайта на Drupal скачивается файл.

При переносе сайте с хостинга на локальный хостинг MAMP PRO вместо загрузки сайта стал скачиваться файл - "без названия". Помогло отключение SSL в настройках конкретного локального домена. Сайт стал запускаться по http и после включения SSL стал снова работать на https.

5. Проблема: 403 Forbidden из-за неправильных прав доступа к .htaccess и родительским папкам

При попытке открыть сайт появляется сообщение:

Forbidden – You don't have permission to access this resource. Server unable to read htaccess file, denying access to be safe.

Это происходит после переноса сайта или изменения структуры директорий, особенно если сайт размещён в подкаталоге, например, public_html/web.

Причина:

Apache не может прочитать файл .htaccess, потому что у него нет прав на выполнение (т.е. вход) в одну из родительских директорий. Даже если .htaccess имеет правильные права (644), отсутствие прав на выполнение у родительских папок приводит к ошибке 403.

Решение:

  1. Проверьте права доступа к .htaccess:

    Убедитесь, что файл .htaccess существует и имеет права 644:

  2. Проверьте права на родительские директории:

    Каждая директория в пути к .htaccess должна иметь права на выполнение (755) для группы и других пользователей. (в моем случае папки public_html и web имели права 750 и после правильной установки прав сайт запустился). 

Содержимое данного поля является приватным и не предназначено для показа.

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.