2016-05-03 199 views
1

我想這只是AWS上的一個權限問題,但我對linux命令不太熟練。Cant'通過PHP文件上傳將文件上傳到AWS

我已經將一個站點從另一臺服務器移動到AWS,過了一段時間,除了PHP文件上傳以外,一切都運行良好。

我有一個用戶區域,用戶可以將圖片上傳到他們的配置文件並執行一些活動,這在以前的服務器中工作正常。

但是在AWS中它並不保存上傳的文件。我的代碼在我添加到文件上傳的每次驗證都會返回成功,但文件不會保存在服務器上。

我敢肯定這是一個權限問題,我試着用命令 chown ec2-user /var/www/html 也試圖授予權限,以根,但這些都不工作過。

FTP工作正常,只是從用戶區域上傳的文件不起作用。

有沒有人可以幫我找到解決方案?

謝謝!

+0

發佈更多信息,這只是太模糊。 – mootmoot

回答

4

當使用PHP上傳服務器上的文件時,您必須授予Web服務器寫入權限。

如果使用的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:更改'/ var/www/html'的所有權:不允許操作' 任何想法? –

+0

我得到它的工作,謝謝,這正是我所需要的 –

+0

您必須有root權限才能執行此操作。你可以使用'sudo chown ...',或者你可以使用'sudo su -'切換到root賬戶,然後改變文件夾的權限 – toaster

0

在Aws有很多事情,你必須考慮。

1)您是否安裝並啓用了某個FTP程序,使用戶相應地向該用戶提供目錄訪問權限。

(因爲默認情況下,你只會有SFTP訪問實例)在安全組

2)你允許端口21(FTP)。