Файл не найден для личных файлов, содержащих арабские символы в именах в Drupal

Изменить: Теперь мне удалось устранить ошибку 500. Теперь я получаю чисто Drupal "Файл не найден" для личных файлов, которые содержат арабские символы в именах файлов. Я проверил таблицу file_managed и, если я изменю имя файла для любого из упомянутых файлов с арабского на что-либо на английском, ошибка исчезнет. Кто-нибудь знает, почему у Drupal возникла проблема с обработкой личных файлов с символами юникода (арабскими) в именах файлов?

Спасибо!

1 ответ

Возможно, проблема в том, что вы сохраняете файл без установки разрешений, которые позволили бы пользователю веб-сервера читать его. Я собираюсь предложить решение, которое полностью игнорирует.httaccess, потому что вы не предоставили нам содержимое этого файла.

[КСТАТИ root пользователь имеет uid 0. Кто является пользователем 1 и почему он будет актуален?]

  1. выяснить, "кто" работает Apache
  2. убедитесь, что "кто" может прочитать файл, к которому у вас нет доступа

Предполагая, что ваш веб-сервер Apache, эта команда скажет вам, какой пользователь работает Apache:

 $ ps aux|grep apach[e] 
root     19874  1.0  0.6  84008 12736 ?        Ss   00:24   0:00 /usr/sbin/apache2 -D (...)
apache   19876  0.0  0.4  48576  8380 ?        S    00:24   0:00 /usr/sbin/apache2 -D (...)
(...)

Пользователь apache запускает двоичный файл apache2 в моей системе. Проигнорируйте первую строку, которая показывает, кто запустил apache2. Теперь сделайте файл доступным для чтения с помощью apache.

$ chmod 644 /path/to/whereever/you/put/system/files/docFiles/nameoffile.pdf

теперь каждый может прочитать файл, а владелец может написать в него.

Другие вопросы по тегам