遇到了兩個因為php.ini配置錯誤導致的報錯:ajax圖片上傳報錯和exec報錯
首先第一個:
在做一個用ajax圖片上傳的功能中,php報了這樣一個錯誤:File upload error - unable to create a temporary file;
然後百度了下,發現是由於php.ini配置文件的upload_tmp_dir的配置沒有處理好.
於是百度下了這個:供參考下
1.因為php.ini中沒有設定上傳的臨時文件,預設為系統的臨時檔案位址。
2.如果沒有權限去讀系統的暫存檔案目錄的話就會產生上述錯誤。
解決的方法就是去掉 upload_tmp_dir 前面的分號然後設定臨時檔案目錄。
3.如果是WIN系統,設定的臨時資料夾的所有父資料夾要有「IUSR_*****(Internet來賓帳號)」的「列出資料夾目錄」權限,建議把這個暫存文件夾創建在PHP目錄中。
第二個:今天在壓縮前端css檔案時,發現壓縮不了,程式和權限都正確,然後看了下,是由於php.ini 的disable_function 這個配置,導致了在執行exec壓縮時報錯!
出於安全的原因,伺服器是不允許php或其他語言執行exec指令的,當你有特殊需求php在伺服器執行exec指令時,你需要設定兩個地方,不然就無法執行成功
1、修改php.ini
找到php設定檔php.ini,如果是用星外php自動安裝程式設定php環境,這個檔案就在C:WINDOWS這個目錄裡。
在檔案中搜尋“disable_functions”,找到它後把“exec”、“shell_exec”去掉,然後儲存檔案。
2、修改cmd.exe檔案屬性
進入C:WINDOWSsystem32,找到cmd.exe這個文件,右鍵->屬性,在「安全」設定中新增Internet 來賓帳戶,也就是IUSR_******那個帳戶,然後賦予「讀取與運行」、「讀取」的權限。
這樣設定完成後,php就可以在伺服器執行exec指令了。
以上就介紹了 兩個由於phpini配置錯誤導致的報錯:ajax圖片上傳報錯和exec報錯,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。