我有一些代码,如果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()
是否存在?
答案 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 _ * 功能如何。