2010-07-28 20 views
5

Jestem nowy w uczeniu się PHP, więc zainstalowałem najnowszą wersję (5.3.3) i piszę kod. Mam natknąć się tego błędu:zamiennik php dla 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

Kiedy patrzę się w dokumentacji safe_mode to mówi mi, że jest przestarzała. dlaczego był przestarzały i co mogę zrobić, aby naprawić ten błąd?

Odpowiedz

4

safe_mode miał dobre intencje, ale został wprowadzony nierównomiernie. Został przestarzały, ponieważ spowodował więcej problemów niż rozwiązano i nie był ogólnym rozwiązaniem zabezpieczającym. Istnieją teraz lepsze sposoby osiągnięcia ochrony środowiska aplikacji (np. FastCGI, suexec, chroots, więzienia, VPS) ...

Możesz naprawić swój błąd, wyłączając safe_mode, i zaprojektuj swój kod, aby nie zakładać, że jest używany lub nieużywany. Należy pamiętać, że safe_mode został usunięty od PHP 5.4.0.


Oto more information on why CURLOPT_FOLLOWLOCATION was disabled gdy safe_mode lub open_basedir są w rzeczywistości. Takie problemy to jeden z głównych powodów, dla których safe_mode prawdopodobnie zostanie całkowicie usunięte z PHP.