- 相關推薦
如何解決PHP在Windows IIS上傳的圖片無法訪問的問題
我們不需要死讀硬記,我們需要用基本的知識來發展和增進每個學習者的思考力。以下是小編為大家搜索整理的如何解決PHP在Windows IIS上傳的圖片無法訪問的問題,希望對大家有所幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
1、我們先用鼠標點擊電腦中的開始菜單,就是左下角的圖標,然后點擊里面的控制面板工具,點擊就可以彈出控制面板窗口。
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
【如何解決PHP在Windows IIS上傳的圖片無法訪問的問題】相關文章:
簡單PHP上傳圖片的方法02-01
PHP圖片上傳類帶圖片顯示03-13
如何利用php修改上傳圖片尺寸05-09
php上傳與刪除圖片的簡單范例12-15
php多圖片上傳的簡單例子05-28
php如何解決中文亂碼問題03-30
php上傳圖片生成縮略圖07-31
php多個文件及圖片上傳實例詳解08-02