萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 解決PHP在Windows IIS 上傳的圖片無法訪問的問題

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

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

怎麼關閉xp系統打開網頁頻繁彈出防火牆提示怎麼回事?

 

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

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

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

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

  問題總結:

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

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

 

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

  這樣就存在一個問題,即 Temp目錄下默認的權限是沒有相應的IIS訪問權限的(windows默認配置),當文件上傳到該目錄時那麼上傳的文件默認是繼承了 Temp目錄的權限

  而PHP再將文件文件移到指定的目錄時,被移動的文件並不會繼承移動後所在的目錄權限

  從而導致從浏覽器訪問被移動的文件時,因為該文件沒有相應的權限(IIS訪問權限)而無法訪正常問

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

  Windows默認的權限配置

 

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

 

  解決辦法:

  給php.ini中的upload_tmp_dir項設置一個臨時目錄並做好相應的權限( 推薦方法 )

  將"C:WindowsTemp"目錄添加相應的權限

  重要說明:

  php.ini 的upload_tmp_dir 目錄權限必須要包含 IUSER和IIS_IUSERS 權限

  或Everyone

        .

copyright © 萬盛學電腦網 all rights reserved