PHP:if(function_exists('curl_init'))有效吗?

时间:2011-10-29 10:41:45

标签: php curl

我有一些代码,如果curl_init()存在,我只想执行。我正在使用此代码检查它是否存在:

if(function_exists('curl_init'))
{
    $c = curl_init();
    curl_setopt($c, CURLOPT_URL, 'http://www.my-site.ext/' . $data . '/');
    curl_setopt($c, CURLOPT_HEADER, 0);
    curl_exec($c);
    curl_close($c);
}

if()返回true,但是内部代码会抛出此错误:

Fatal error: Call to undefined function curl_init() in /var/www/wp-content/plugins/my-plugin-name/inc/myplugin_functions.php on line 15

如何正确检查curl_init()是否存在?

4 个答案:

答案 0 :(得分:6)

您可以尝试这样is_callable()

if(is_callable('curl_init')){
  //Code here
}

答案 1 :(得分:3)

尝试curl_exec而不是curl_init,也许是帮助

if(function_exists('curl_exec'))
{
    // Code here
}

答案 2 :(得分:1)

是的,function_exists过去曾为我工作过相同的原因....你确定所有卷曲相关的方法,如init setopt exec和close以及curl的资源处理程序的使用都在if块中吗?更多的代码将有助于更好的答案..

答案 3 :(得分:1)

它可以正常工作,你的代码就在你的代码块中导致了这个问题。

如果curl_init存在并且是函数,则它返回TRUE,否则返回FALSE。如果cURL可用,则此功能可用,无论您输入的 curl _ * 功能如何。