簡體   English   中英

PHP move_uploaded_file權限雖然看起來應該被拒絕

[英]PHP move_uploaded_file permission denied though it seems it should

我正在學習PHP並嘗試使用以下代碼上傳文件:

$destination = "uploads/".$_FILES['userfile']['name'];
move_uploaded_file($_FILES['userfile']['tmp_name'], $destination);

但我面對的是

無法打開流:權限被拒絕

我可以將“uploads”目錄的權限更改為每個人都可寫,但當然這是不好的做法。 文件夾權限是:

drwxr-xr-x 2 loai loai 4096 Dec 30 12:44 uploads

並運行ps aux | grep httpd ps aux | grep httpd收益率

loai      6728  0.0  0.0   4368   832 pts/1    S+   18:37   0:00 grep --colour=auto httpd

那么apache進程是不是應該能夠在給定的目錄中寫入? 謝謝

您可以嘗試使用目標的完整路徑。 就像是:

/var/www/project/uploads

首先,正如對問題的評論中所述,你的ps輸出顯示的是grep進程本身,而不是httpd進程(或者你的web服務器)。 這可能意味着您的Web服務器以不同的用戶身份運行,而不是以loai身份loai 更改uploads文件夾的所有權或使其可寫入組,然后將Web服務器的用戶添加到相應的組

如果你可以用相對路徑讀取該目錄,那么只需將它chown:

cd $path_to_your_site_root
chown -R loai:loai uploads

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM