Данная ошибка возникает при использовании функции file_get_contents и может быть вызвана множеством факторов. Впрочем, решение ее остаточно простое.
Не будем копаться в причинах недоступности URL по простому обращению file_get_contents, так как это могут быть и настройки сервера или php одной стороны — так и аналогичные параметры стороны второй.
Я в своей практике при получении подобной ошибки заменяю вызов file_get_contents
на использование cURL
.
$curl_handle=curl_init(); curl_setopt($curl_handle, CURLOPT_URL,'http://somesite.com/'); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); $query = curl_exec($curl_handle); curl_close($curl_handle);
Во всех случаях, что со мной случались — данный подход полностью решал проблему и нужный результат возвращался в переменную $query
.