2010-07-28 38 views
5

tôi mới học PHP và vì vậy tôi đã cài đặt phiên bản mới nhất (5.3.3) và đang viết một số mã. tôi đã chạy qua lỗi này:thay thế php cho 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

Khi tôi tra cứu tài liệu cho safe_mode, nó cho tôi biết rằng nó không còn được dùng nữa. tại sao nó không được chấp nhận và tôi có thể làm gì để sửa lỗi này?

Trả lời

4

safe_mode có ý định tốt nhưng được triển khai không đều. Nó không được chấp nhận vì nó gây ra nhiều vấn đề hơn là giải quyết, và không phải là giải pháp bảo mật chung. Có những cách tốt hơn để đạt được bảo vệ môi trường ứng dụng ngay bây giờ (như FastCGI, suexec, chroots, jails, VPSes ...)

Bạn có thể sửa lỗi bằng cách tắt safe_mode và thiết kế mã của bạn để không cho rằng nó đang được sử dụng hoặc không được sử dụng. Xin lưu ý rằng safe_mode đã bị xóa từ PHP 5,4.0.


Dưới đây là more information on why CURLOPT_FOLLOWLOCATION was disabled khi safe_mode hoặc open_basedir đang có hiệu lực. Vấn đề như thế này là một trong những lý do chính tại sao safe_mode có khả năng bị xóa hoàn toàn khỏi PHP.