2011-10-29 62 views
3

我有一些代碼,我只想執行如果curl_init()存在。我檢查了它的存在,此代碼:PHP:if(function_exists('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()是否存在?

+3

是的,它可以顯示更多的代碼以查看錯誤的位置。 – salathe

+0

最有可能是兩行中的任何一個錯字。但'extension_loaded()'是另一種選擇。 – mario

+0

我只是修改代碼。 –

回答

3

嘗試curl_exec代替curl_init,或許有助於

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

是,function_exists爲我過去對同一事業的工作....你確定所有curl相關的方法,如init setopt exec和close以及curl的資源處理程序的使用是否在if塊?更多的代碼將有助於更好的回答..

+0

當然,併成爲聲明的真正障礙 –

1

它會正常工作,它的代碼,你在塊內導致這個問題。

如果curl_init存在並且是一個函數,則它返回TRUE,否則返回FALSE。如果cURL可用,則此功能可用,無論您輸入什麼curl_ *函數。