Друпал 9.3
У нас есть сайт, который позволяет загружать частные файлы. Мы получаем прерывистые файлы, которые невозможно просмотреть/скачать даже с учетной записью «Пользователь 1».
Нет никакой разницы между запрещенным файлом и другими файлами, которые можно просматривать. Файл существует в Drupal Files Views и используется в 1 месте, как и ожидалось. Файл существует на сервере и имеет те же разрешения UNIX.
Устранение неполадок показывает ошибку «Отказано в доступе», возникающую из-за функции загрузки:
/веб/ядро/модули/система/src/FileDownloadController.php
Похоже, что для заголовка где-то установлено значение -1, поэтому я попытался использовать hook_file_download() в пользовательском модуле с его масса установите значение 100, чтобы оно срабатывало последним.
Что меня сбивает с толку, так это то, что мой хук запускается последним по весу, а «-1» не находится в заголовках $, но когда функция загрузки FileDownloadController проверяет его, он там.
На снимке экрана показан dpm($headers) из моего hook_download_file(), который запускается первым, а затем основная функция загрузки. Куда вставляется -1 и почему он прерывистый?