Определить, работает ли cURL? - PullRequest
3 голосов
/ 03 мая 2011

Это предупреждение.

Предупреждение: 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?

Наконец, как бы улучшить эту функцию, чтобы она улавливала ошибку «не может быть активирована» и возвращала 0?

1 Ответ

6 голосов
/ 03 мая 2011

Это, кажется, работает правильно с 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...