Notas del Terrible
Заметки Ужасного Зануды

IIS7 и проблема с загруженгными файлами WordPress

декабря 18, 2009 17:43 by terR0Q

Пока не забыл, запишу лечение назойливой проблемы с Wordpress’ом под виндой.

Симптомы

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

Причины и лечение

При проверке у загруженного файла прописаны права для IUSR (учетка, из под которой работает PHP), но не было прав для Network Service (от ее имени работает IIS). Т.е. сам веб-сервер просто не получает права доступа к файлу и выдает ошибку. Смотрится это странно, т.к. у превьюх все в порядке и при создании в этом каталоге все файлы должны наследовать права от каталога (а у него-то всё на месте).

Но в том и загвоздка, что при загрузке файлов в PHP они сначала загружаются в промежуточный каталог, указанный в php.ini (настройка upload_tmp_dir), и по умолчанию это C:\Windows\Temp, а уже потом копируется приложением PHP в целевой каталог. При этом копируются права доступа этого каталога, и они не заменяются. Потому и лечение простое: даем Network Service все нужные права на временный каталог.


Комментарии

Добавить комментарий


(Отображает Gravatar)

  Country flag

biuquote
  • Комментарий
  • Предпросмотр
Loading