У меня есть сайт, который использует file_get_contents для доступа к API геолокации при каждом запросе. Время от времени этот удаленный API начинает давать ошибки 504/502, по-видимому, из-за проблем с их конца. Проблема в том, что это также приводит к тому, что мой сайт тоже падает вниз - есть ли способ создать резерв, чтобы, если удаленный сайт начнет отсчет времени, он будет игнорировать его и загрузить страницу в любом случае?file_get_contents заставляет сайт сходить вниз, когда удаленный сайт не работает
Это мой код:
$geoData = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip=' . $_SERVER['REMOTE_ADDR']));
Возможный дубликат [Хорошая обработка ошибок с файлом \ _get \ _contents] (http://stackoverflow.com/questions/3431169/good-error-handling-with-file-get-contents) – Jerodev
вы можете создать aa context , установите тайм-аут в контексте, а затем передайте контекст в file_get_contents - см. примечание о добавлении контекста по адресу http://php.net/manual/en/function.file-get-contents.php & http: // php. net/manual/en/context.http.php –
Возможный дубликат [Обработка задержек при извлечении файлов с удаленного сервера в PHP] (http://stackoverflow.com/questions/1605063/handling-delays-when-retrieving-files- from-remote-server-in-php) EDIT: я вижу, что это не таймауты, а фактические ошибки с пульта, поэтому, возможно, это не обман (но в конце вопроса упоминаются тайм-ауты .... я противоречив) – Amadan