2010-07-28 61 views
5

我是學習PHP的新手,所以我安裝了最新版本(5.3.3)並且正在編寫一些代碼。我碰到過這個錯誤:php替換爲safe_mode

PHP Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in C:\Rush\dev\personal\Numina.Framework\Development\PHP Library\Numina.Framework\clsHttpUtil.php on line 47

當我查閱safe_mode的文檔時,它告訴我它已被棄用。爲什麼不推薦使用,我該如何解決這個錯誤?

回答

4

safe_mode有良好的意圖,但實施不均衡。它被棄用,因爲它造成了更多的問題而不是解決問題,而不是一個通用的安全解決方案。現在有更好的方法來實現應用程序環境保護(如FastCGI,suexec,chroot,jails,VPS ......)

您可以通過關閉safe_mode來解決您的錯誤,並且設計您的代碼時不要假設它正在被使用或廢棄請注意safe_mode已被刪除截至PHP 5.4.0。


這裏的more information on why CURLOPT_FOLLOWLOCATION was disabledsafe_modeopen_basedir已生效。像這樣的問題是safe_mode可能完全從PHP中刪除的主要原因之一。