检测cURL是否有效?

时间:2011-05-03 07:18:37

标签: php curl

这是警告。

  

警告:curl_setopt_array()   [function.curl-SETOPT阵列]:   CURLOPT_FOLLOWLOCATION不能   在safe_mode或。时激活   open_basedir在/.../file.php中设置   在第41行

这是我用来检测cURL的。如果未启用cURL,则会触发解决方法。

function curlEnabled() {
    if (ini_get('safe_mode') == 1)
        return 0;

    return in_array('curl', get_loaded_extensions());
}

我发现在启用安全模式或禁用cURL的情况下有效地测试此功能是非常困难的。

有人能告诉我。

  1. 该函数是否实际检测到PHP safe_mode?
  2. 检测cURL是否正确加载?
  3. 最后,如何改进此函数以捕获'无法激活'错误并返回0?

1 个答案:

答案 0 :(得分:6)

这似乎与safe_mode一起使用。

要检查CURL,您可以在加载的扩展中查找(就像您一样),或者只是:

function_exists('curl_init');

关于错误信息,我不确定你在问什么。是否要禁止显示错误消息?

您可以执行以下操作:

$old=error_reporting(0); // turn off error reporting
// do whatever that causes errors
error_reporting($old);   // turn it back on