設定open_basedir導致PHP程序無法上傳

在一篇資料上看到,設置PHP的php.ini文件中的open_basedir項,可以限制PHP訪問的範圍,如open_basedir="c:/apache group/apache2/htdocs",這樣就限定了PHP文件只能訪問htdocs目錄下的內容。我就在我的機子上試了試,發現使用該項後,我的UPLOAD無法上傳,提示上傳成功了,但其實根本沒成本,文件夾中也沒有上傳成功的文件。
  在php.ini關於上傳文件部分的設置中看到了upload_tmp_dir這個設定,PHP中說明,通過http在線上傳文件的,如果不手動設置上傳臨時文件夾的話,就會利用操作系統的臨時文件夾,因爲PHP默認上傳臨時夾的設定項upload_tmp_dir是空值,所以如果設定了open_basedir的話,程序就無法讀寫系統的臨時文件夾了,所以造成上傳的不正常。這時可以手動指定upload_tmp_dir,或不設定open_basedir。這也是便利和安全中的抉擇。
  另外,open_basedir的設定也會影響某些程序的session的使用,原因同上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章