Исправление ошибки в Drupal 8 "Could not delete temporary file '......' during garbage collection"

06 июля 2019

Если Вы столкнулись с такой ошибкой при запуске cron:

Could not delete temporary file "temporary://image.jpg" during garbage collection

или

Could not delete temporary file "https://site.name/image.jpg" during garbage collection

Эта ошибка возникает когда данные хранимые в базе данных не синхронизированы с файловой системой. Например:

  • Ошибка доступа к файлу в случае настройки мультисайтинга
  • Файл удален из файловой системы из директории sites без удаление ссылки на файл из базы данных.
  • Ошибка доступа к файлу хранения файлов

Перейдите в /admin/content/files, в поиске забейте первые буквы в названии ошибки, например для ошибки temporary://image.jpg, можно забить слово temporary:

Находим на страницу описания файла и в адресной строке запоминаем ID

Переходим в базу данных, через терминал или через phpMyAdmin, вкладка SQL запрос и пишем:

delete from file_managed where fid=наш_id#;

Где наш_id - ID файла с решеткой в конце. Нажимаем Выполнить

Чистим кеш

drush cr

Запускаем cron и радуемся жизни