Это предупреждение.
Предупреждение: curl_setopt_array () [function.curl-setopt-array]: CURLOPT_FOLLOWLOCATION не может быть активировано, если в safe_mode или open_basedir установлено в /…/file.php в строке 41
- Пропустить аутентификацию между приложением php и Ruby On Rails
- PHP | Почему я должен использовать статическую / приватную статическую функцию вместо функции public / private?
- Как загружать встроенные изображения с помощью пакетного запроса Graph API?
- Запрос Curl, не работающий на реальном сервере
- PHP - удалить запятую из последнего цикла
- Режим отображения документа Word, сгенерированного в PHP
Это то, что я использую для обнаружения cURL. Если cURL не включен, срабатывает работа.
function curlEnabled() { if (ini_get('safe_mode') == 1) return 0; return in_array('curl', get_loaded_extensions()); }
Мне очень сложно проверить, что эта функция эффективно работает с отсутствием хостинга с включенным безопасным режимом или cURL.
Мог бы кто-нибудь сказать мне.
Наконец, как улучшить эту функцию, чтобы поймать ошибку «не может быть активирована» и вернуть 0?
Кажется, что это правильно работает с 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