Файл не найден для личных файлов, содержащих арабские символы в именах в Drupal
Изменить: Теперь мне удалось устранить ошибку 500. Теперь я получаю чисто Drupal "Файл не найден" для личных файлов, которые содержат арабские символы в именах файлов. Я проверил таблицу file_managed и, если я изменю имя файла для любого из упомянутых файлов с арабского на что-либо на английском, ошибка исчезнет. Кто-нибудь знает, почему у Drupal возникла проблема с обработкой личных файлов с символами юникода (арабскими) в именах файлов?
Спасибо!
1 ответ
Возможно, проблема в том, что вы сохраняете файл без установки разрешений, которые позволили бы пользователю веб-сервера читать его. Я собираюсь предложить решение, которое полностью игнорирует.httaccess, потому что вы не предоставили нам содержимое этого файла.
[КСТАТИ root пользователь имеет uid 0. Кто является пользователем 1 и почему он будет актуален?]
- выяснить, "кто" работает Apache
- убедитесь, что "кто" может прочитать файл, к которому у вас нет доступа
Предполагая, что ваш веб-сервер 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
теперь каждый может прочитать файл, а владелец может написать в него.