1

Я предполагаю, что это просто проблема с разрешениями на AWS, но я не очень разбираюсь в командах linux.Cant 'Загрузка файлов в AWS через загрузку файла PHP

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

У меня есть область пользователя, где пользователи могут загружать изображения в свои профили и выполнять некоторые действия, которые отлично работали на предыдущем сервере.

Но в AWS он не сохраняет загруженный файл. Мой код возвращает успех при каждой проверке, которую я добавил к загрузке файла, но файл не сохраняется на сервере.

Я уверен, что это проблема с разрешениями, я попытался с помощью команды chown ec2-user /var/www/html , а также пытался выдача разрешения на корень, но ни один из них не работал.

FTP работает нормально, только закачки из области пользователя - это те, которые не работают.

может любой из вас помочь мне найти решение?

Спасибо!

+0

Опубликовать больше информации, это слишком расплывчато. – mootmoot

ответ

4

При использовании PHP для загрузки файла на сервер вы должны предоставить разрешение на запись в веб-сервер.

Если вы используете Apache, например, вы можете выполнить следующую команду:

chown apache:apache /var/www/html 
chmod 775 /var/www/html 

Кроме того, вся структура дерева должна быть не менее читаемым. У вас должно быть что-то вроде этого:

drwxr-xr-x root:root /var 
drwxr-xr-x root:root www 
drwxr-xr-x apache:apache html 
+0

Я пробовал эти команды, и я получаю ошибку 'chown: change ownership of '/ var/www/html': операция не разрешена' Любая идея? –

+0

Я получил его на работу, спасибо, это было именно то, что мне нужно –

+0

Для выполнения такого действия у вас должна быть привилегия root. Вы можете использовать 'sudo chown ...' или вы можете переключиться на учетную запись root с помощью 'sudo su', а затем изменить права папки – toaster

0

В Aws есть много вещей, которые вы должны принять во внимание.

1) Была ли установлена ​​и включена какая-либо FTP-программа, сделайте пользователя соответствующим образом и предоставите доступ к каталогу этому пользователю.

(потому что по умолчанию у вас будет только SFTP доступ к примеру)

2) Вы Разрешить порт 21 (FTP) в группе безопасности.