程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> IIS+PHP上傳的圖片沒有訪問權限 故障解決

IIS+PHP上傳的圖片沒有訪問權限 故障解決

編輯:PHP基礎知識
 

網站搬家到wimp,真是問題不斷,剛剛解決了個,現在又遇到了個。寫了一篇博文說說,發現上傳的圖片不能顯示(對外提示500,對內提示URL重寫錯誤),醉了

初步百度了一下,有兩種可能,

  • 路徑不對
  • 沒有權限。

檢查了路徑,沒問題,那就是權限的問題了。

找到這張圖片,在屬性-安全裡-發現沒有父目錄uploads的Users用戶的讀取權限,

meiyouquanxian quanxianzhu

 

於是手動給添加個User用戶權限,發現正常了,但是新上傳的圖片又不能訪問。

一般上傳的文件會繼承父目錄的權限,但是在這裡上傳的文件卻沒有繼承父目錄的權限,而且還多了個I開頭的用戶組

再次百度google找原因,原來是PHP在上傳文件的時候,會先放在一個臨時的文件夾裡(這時會繼承該文件夾的權限,所以多了個I開頭的用戶組)),然後再移動到指定文件夾

那麼問題就出現在,上傳的臨時文件夾沒有Users用戶權限,移動的過程中不會繼承新的父目錄的權限,所以沒有Users用戶權限。

解決方法

既然知道了原因,那麼該怎麼解決呢,最簡單的方法是指定PHP上傳的臨時文件夾為uploads的子目錄

哀差悶具體的解決步驟如下

1.uploads下面新建了個phpUpLoadTemp文件夾,然後再屬性-安全裡添加IUSR用戶組(這個是必須的,php.ini 的upload_tmp_dir 目錄權限必須要包含 IUSR)

adbcddasdas

2.打開php.ini,查找upload_tmp_dir 將前面的分號去掉 後面添加上phpUpLoadTemp文件夾的路徑

upload_tmp_dir = “D:\xxxxx\www\wp-content\uploads\PHPupLoadTemp”

最後還需要注意一點:上傳的文件名不能帶有中文,否則會出現找不到的問題,原因不多說了,因為編碼不同

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved