Отладка

Размер загружаемых файлов

При загрузке файла в IMCE всплывает сообщение об ошибке. Слишком большой файл.

Необходимо настроить конфигурацию сервера. В случае Nginx + php7.0-fpm редактируются следующие файлы:

В секции http {} файла nginx.conf добавить client_max_body_size:

Drupal 7 ошибка 500 после включения сложных модулей

После включения модуля Views Bulk Operations в Представлениях не добавился нужный функционал, но стала появляться ошибка 500 на страницах:

  • на странице Производительность - при очистке кэша,
  • на странице Блоки.

 

Ошибка 500

Причины ошибки описаны тут https://www.drupal.org/node/416906

  • неправильная конфигурация Nginx,
  • неправильные настройки прав и пользователей папок в Linux,
  • испорченные файлы.

 

Drupal 8: ошибки в работе Composer и решения

Composer не только сложен, но и опасен для новичков. Его работа не видна, а поломки возможны.

Сайт не открывается после работы Composer

Error: The website encountered an unexpected error. Please try again later.
Ошибка: Сайт обнаружил непредвиденную ошибку. Пожалуйста, повторите попытку позже."

Таблица помечена как повреждённая (crashed), и не создаётся материал

Проблема: При создании материала с тегами или другими полями типа ссылка на термин таксономии материал создаётся частично из-за возникновения ошибки в работе таблицы field_taxonomy_name.
Причина: Таблица могла быть повреждена из-за какого-либо сбоя сервера баз данных.
Решение: подключитесь к серверу баз данных (или войдите в phpmyadmin) и выполните sql-код, указав ваше название таблицы:

Drupal 8.0.6 не устанавливается с ошибкой 502

Ошибка 502 происходит из-за того, что сервер обрывает работу php-скриптов Друпала, которые во время установки долго работают. Часто это может происходить на виртуальных хостингах, где есть ограничения на использование ресурсов.

Решение: используйте VPS, или оптимизированный для Drupal виртуальный хостинг drupalhosting.ru, или устанавливайте Друпал на локальном компьютере, а затем переносите на виртуальный хостинг.

Drupal 8 отключить кэш Twig для редактирования и отладки темы, шаблонов

Drupal: 
Уровень сложности: 

Drupal 8 использует Twig - шаблонный движок, который упрощает кодирование, но усложняет отладку. Если вы отредактировали файлы темы, например, templates/page.html.twig, mytheme.theme, а результат не виден, следующие точные инструкции помогут отключить кэширование шаблонов Твиг в Друпал 8 и ускорить процесс отладки своей темы или модуля.

Настройка аккаунта виртуального хостинга для Drupal 8

Для стабильной работы Drupal 8 нужен PHP 5.5.9 или выше и opcache. Если эти требования не выполнены, могут происходить ошибки.

Например, если версия PHP 5.4 на вашем виртуальном хостинге, тогда можно увидеть такую ошибку:
"Parse error: syntax error, unexpected '[', expecting ')' in /vendor/guzzlehttp/promises/src/functions.php on line 41"

А если не включен Zend OpCache, то во время установки Друпал 8 сообщит: opcache highly recommended.

Проблемы установки Drupal 8 на виртуальном хостинге

Drupal: 
Уровень сложности: 

Drupal 8 имеет ряд преимуществ перед Drupal 7. В частности, он имеет встроенные механизмы кэширования, что делает "сайт из коробки" быстрым. Но проблемы при установке могут возникать, особенно на виртуальных хостингах. Приведем некоторые обнаруженные проблемы.

Правильный конфиг хоста Nginx для сайта на Drupal 8

Иногда при неправильной настройке может появляться сообщение "The requested page could not be found." или "Запрашиваемая страница не найдена."

Это может возникать в том числе из-за ошибочной конфигурации веб-сервера и хоста Nginx. Обратитесь к хостеру или на своей впс настройте хост.

Тут правильный конфигурационный файл хоста https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/

Отключить для анонимов все JavaScript в хуке, кроме определённой страницы

JavaScript ускоряет сайт в руках профессионалов, обновляя страницы без перезагрузки. Также js помогает подобрать фразы для поиска. Но есть случаи, когда js отнимает скорость загрузки страниц, а его польза сомнительна. Если вашему сайту не нужен слайдер, выпадающие меню с js, или слайдер нужен только на главной, отключите javascript там, где он не нужен. Пользователи мобильного Интернета или гаджетов получат больше пользы на вашем сайте (скорость загрузки).

Отключить все JS из админки Друпал невозможно (о таком модуле мне ещё неизвестно), и друпал будет добавлять по умолчанию:

Nice Menus убираем задержку появления подменю при наведении мыши

Модуль Nice Menus создаёт выпадающее меню. В отличие от модуля Superfish, этот модуль более простой, а скрипты - легковесные. Поэтому я выбираю Nice Menus.

Задержка исчезновения выпадающего меню после отведения мыши настраивается в настройках модуля тут /admin/config/user-interface/nice_menus во вкладке Дополнительно: Настройки Superfish, но есть и другая задержка - задержка появления, которая тоже настраивается: медленно, обычно, быстро.
При выборе "быстро" эта задержка всё равно присутствует.

Не доходят письма о регистрации на сайте Drupal на Mail и Gmail

Часто на Друпал-сайтах люди просто не получают письма о регистрации или о заказе, если указывают e-mail на mail.ru или gmail.com, возможно, и других, хотя на Яндекс письма нормально доходят.
Это связано с политикой безопасности этих серверов, которые воспринимают подобные письма как СПАМ. Это происходит из-за того, что не ваш сайт первый отправляет подобные письма, и все они имеют одинаковый шаблон, что заставляет почтовые системы Mail.ru и Gmail.com воспринимать это как СПАМ.
Это можно обойти двумя способами:

Privatemsg + SMTP не отправляет письма, пишет Невозможно отправить e-mail. Обратитесь к администратору

Отправка уведомлений на емайл в модуле Privatemsg происходит через почтовую систему по умолчанию. После настройки отправки почты через SMTP, то есть установки smtp модуля, сайт не всегда отправлял письма.

Модули, в которых я использую патчи

В следующих модулях наблюдались ошибки, поэтому я нашёл и выполнил патчи.

Ядро

bootstrap.inc - http://www.drupal.ru/node/89490#comment-642104 а также ошибка check_plain() в строке 1567 патч http://www.drupal.ru/node/55383#comment-644044
dblog.module - ошибка PDO Exception при создании материала, если длинный адрес. http://www.drupal.ru/node/89490#comment-642104

Boost Не работает кеш. Ошибка Generated: not cached yet (either no one has visited the page recently, or something is preventing the cache from being generated).

При работает с модулем Boost я заметил, что на одном хостинге он не работает. То есть при изменении страницы, она обновляется и у анонимов сразу. (Буст кеширует страницы только для анонимов, а тут что-то нет.) Я стал тестировать так:

Подписаться на Front page feed