當前位置:才華齋>計算機>php語言>

如何解決PHP在Windows IIS上傳的圖片無法訪問的問題

php語言 閱讀(2.24W)

我們不需要死讀硬記,我們需要用基本的知識來發展和增進每個學習者的思考力。以下是小編為大家搜尋整理的如何解決PHP在Windows IIS上傳的圖片無法訪問的問題,希望對大家有所幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

如何解決PHP在Windows IIS上傳的圖片無法訪問的問題

1、我們先用滑鼠點選電腦中的開始選單,就是左下角的圖示,然後點選裡面的控制面板工具,點選就可以彈出控制面板視窗。

2、在彈出的控制面板視窗中,我們看到裡面有很多的圖示功能可以使用,我們這個時候就需要找到的是安全中心,點選了以後就看到裡面有一個選項為windows 防火牆點選選中。

3、我們點選了以後,彈出一個新的視窗然後在進行設定,我們看到視窗中有一個名為關閉的選項,大家選擇關閉選項點選,然後儲存關閉視窗即可。

上面的三個步驟就是可以解決我們上網的時候彈出防火牆的提示視窗的'解決技巧,大家要是遇到這樣的情況不知道怎麼解決的話,希望對大家有所幫助。

最後在 windows下使用IIS配置的PHP無法上傳檔案的解決方法 這篇文章的幫助下成功解決了該問題

問題總結:

在Windows平臺下如果PHP使用的是IIS的話那麼php在上傳檔案時是先將檔案上傳到一個臨時目錄下的

(該配置項可以在的" upload_tmp_dir "裡進行配置,由於我們的服務器並沒有進行過配置 ,所以php將使用系統的臨時目錄"C:WindowsTemp" )

然後PHP再將臨時目錄中上傳的檔案再移動到你指定的目錄中去

這樣就存在一個問題,即 Temp目錄下預設的許可權是沒有相應的IIS訪問許可權的(windows預設配置),當檔案上傳到該目錄時那麼上傳的檔案預設是繼承了 Temp目錄的許可權

而PHP再將檔案檔案移到指定的目錄時,被移動的檔案並不會繼承移動後所在的目錄許可權

從而導致從瀏覽器訪問被移動的檔案時,因為該檔案沒有相應的許可權(IIS訪問許可權)而無法訪正常問

也就出現了檔案上傳成功但瀏覽器訪問時出現 “ 401 - 未授權: 由於憑據無效,訪問被拒絕。 ”的問題

Windows預設的許可權配置

更改後的許可權配置(必須 包含 IUSER和IIS_IUSERS 許可權或 Everyone )

解決辦法:

給中的upload_tmp_dir項設定一個臨時目錄並做好相應的許可權( 推薦方法 )

將"C:WindowsTemp"目錄新增相應的許可權

重要說明:

的upload_tmp_dir 目錄許可權必須要包含 IUSER和IIS_IUSERS 許可權

或Everyone