У меня есть обслуживаемый веб-сайт PHP 5.4 на сервере IIS 7.5 на основе Plesk. Идентификатор пула приложений работает как IWAM_plesk
но PHP работает как IUSR_username
,
Когда я загружаю файлы, PHP может переместить файл и создать миниатюру из него, но файл не получает анонимный IWAM_plesk(default)
разрешения браузерам на чтение файла и, таким образом, изображение (не созданное миниатюру) «не может быть прочитано» при просмотре сайта.
Как я могу предоставить правильные разрешения для файла после загрузки?
Только папка «заменить разрешения на все дочерние объекты» устраняет проблему (или добавляет права доступа пользователя непосредственно к файлу).
Это проблема upload_tmp_dir
установка в php.ini. При перемещении файла во время процесса загрузки разрешение не перемещается вместе с ним. Создайте папку загрузки для конкретного проекта, настройте пользователей / группы так, как вам нужно, и установите эту папку как upload_tmp_dir
либо в php.ini, либо в конкретном проекте.
Загруженный файл унаследует права доступа к папке.
Возникла эта проблема с установщиком веб-платформы, который по умолчанию устанавливает для upload_tmp_dir значение C: \ Windows \ temp.
Других решений пока нет …