Как в PHP отключить любые реакции на ошибки
Хочу самостоятельно отобразить информацию об ошибке пользователю, но при срабатывании таймаута получаю обновление страницы, все стирается:
This page isn’t working ..SITE_NAME.. is currently unable to handle this request.
HTTP ERROR 500
при этом пробовал:
error_reporting(0);
ini_set('display_errors', 0);
Обобщая- есть отрисованная страница, скрипт долго не может подключиться к удаленному серверу, хочу вывести окошко "Ошибка подключения к серверу" со своими стилями, не затирая уже отображенную информацию. Сейчас срабатывает класс обработки ошибок errorHandler и производится вывод с определенной детализацией в окно контента. По таймауту может не отработать как локальный скрипт, так и не ответить удаленный сервер, поэтому не хочу выносить конкретное оформление в errorHandler.
Ответы (1 шт):
В принципе, "мешали" ошибки при соединении с серверами. Нашел в интернете решение:
function isSiteAvailible($url) {
// Проверка правильности URL
if(!filter_var($url, FILTER_VALIDATE_URL)){
return false;
}
// Инициализация cURL
$curlInit = curl_init($url);
// Установка параметров запроса
curl_setopt($curlInit,CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($curlInit,CURLOPT_HEADER,true);
curl_setopt($curlInit,CURLOPT_NOBODY,true);
curl_setopt($curlInit,CURLOPT_RETURNTRANSFER,true);
// Получение ответа
$response = curl_exec($curlInit);
// закрываем CURL
curl_close($curlInit);
return $response ? true : false;
}