GoDaddy PHP и проблемы с загрузкой файлов на Windows Server

Я настраиваю PHP CMS для своего клиента, и у меня возникают проблемы с загрузкой файлов.

Мой клиент находится на общем сервере Windows IIS 7.0 GoDaddy.com, работающем под управлением PHP 5. Я не могу переключиться на Linux, поскольку у моего клиента есть другие сайты, размещенные в его учетной записи GoDaddy, использующие ASP.NET. Я попытался перейти на Linux, и эти сайты потерпели неудачу, поэтому я застрял с Windows.

Как видите, я использовал для этого абсолютный путь:
upload_tmp_dir = D: \ Hosting \ 2556240 \ html \ mytemp

Но, похоже, ничего не сделал. Я получаю эту ошибку при запуске скрипта загрузки:

Предупреждение: move_uploaded_file() [function.move-uploaded-file]: невозможно переместить 'D:\temp\TMP\php895B.tmp' в 'img/1291406212_slideshow_run.jpg' в D:\Hosting\2556240\html\admin_class\simpleIMG.php в строке 48

Несмотря на то, что я настроил свой upload_tmp_dir, и вы можете видеть, что он есть в моем phpinfo() Я также все еще вижу следующие каталоги TEMP/TMP, перечисленные как:

TEMP d: \ temp \ tmp
TMP d: \ temp \ tmp

_SERVER ["TEMP"] d: \ temp \ tmp
_SERVER ["TMP"] d: \ temp \ tmp

session.save_path D: \ TEMP \ PHP
(Я попытался изменить этот session.save_path на тот же абсолютный путь, что и для upload_tmp_dir, но затем мой сценарий входа в систему для сеанса PHP () перестал работать. Поэтому мне пришлось изменить его обратно на D:\TEMP\PHP)

Помогите! Я знаю, что для меня должен быть способ использовать скрипт загрузки файлов на сервере Windows.

Есть ли что-то, что мне не хватает в моем php.ini файл? Или есть альтернативный способ загрузки файлов, который будет работать?

3 ответа

Решение

Как и Франциско, я исправил эту проблему с помощью веб-портала GoDaddy.

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

Снимите флажок "Наследовать разрешения", а затем установите флажок "Запись в Интернете". Если есть структура каталогов для выгрузки, вы должны установить флажок, который заставляет подпапки наследовать разрешение на веб-запись.

Предупреждения безопасности: не делайте ваш веб-рут доступным для записи. Не создавайте каталоги с PHP-кодом для записи. Если вы разработчик приложений, рассмотрите возможность сохранения файлов в базе данных, а не наличия доступных для записи каталогов на вашем веб-сервере, они являются распространенным вектором атаки.

Догадаться. Это была возможность доступа к папкам, которую я должен был установить через веб-панель GoDaddy.com. Сейчас все работает без сбоев.

Для меня это была проверка "Разрешения на запись на сайте" в моем конкретном (общем) хостинге. Я помню, что с включением этой функции связаны некоторые проблемы с безопасностью, поэтому, вероятно, нужно будет очень тщательно устанавливать разрешения для отдельных папок после ее включения. Я следовал очень простому учебнику и не заставлял его работать, но это был ключ.

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