PHP: if (function_exists ('curl_init')) это работает? - PullRequest
3 голосов
/ 29 октября 2011

У меня есть код, который я хочу выполнить, только если присутствует 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 ]

6 голосов
/ 29 октября 2011

Вы можете попробовать is_callable() вот так:

if(is_callable('curl_init')){
  //Code here
}
3 голосов
/ 29 октября 2011

попробуйте curl_exec вместо curl_init, возможно, помогите

if(function_exists('curl_exec'))
{
    // Code here
}
1 голос
/ 29 октября 2011

Это будет работать правильно, ваш код у вас внутри блока, который вызывает эту проблему.

Все, что он делает, возвращает TRUE, если curl_init существует и является функцией, иначе FALSE.Эта функция будет доступна, если доступен cURL, независимо от того, какую функцию curl _ * вы используете.

1 голос
/ 29 октября 2011

да, функция function_exists в прошлом работала для меня по той же причине .... вы уверены, что все связанные с curl методы, такие как init setopt exec и close и использование обработчика ресурсов curl, находятся в блоке if ?? больше вашего кода будет полезно для лучшего ответа ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...