Я пытаюсь вызвать URL-адрес с PHP, чтобы проверить, существует ли он и доступен.Предотвращение php_network_getaddresses: getaddrinfo failed:
Мой исходный код был
fopen('http://'.$this -> url, 'r');
Но он бросает на следующие ошибки каждый раз, когда URL недостижим:
fopen(http://dwzegdzgwedzgew.com): failed to open stream: php_network_getaddresses: getaddrinfo failed
php_network_getaddresses: getaddrinfo failed:
Оператор ошибки (@) игнорируется в этом случае в качестве ISN ошибки 't брошенный fopen сам, но при разрешении asdress. Поэтому я думал, что должен это сделать:
@fopen(@'http://'.$this -> url, 'r');
, но он также продолжает выдавать ошибку.
Есть ли возможность исключения ошибок при проверке наличия URL-адреса в PHP перед его открытием?
Еореп (http://kihgkighuhgkig.li): не удалось открыть поток: php_network_getaddresses: getaddrinfo не удалось: Der angegebene Хост IST неизвестно. Редактировать: Извините за немецкий, «unknwon host» –
Вы можете попробовать выполнить запрос ping перед использованием fopen. Но если он находится в производстве, скройте ошибки 'error_reporting (0);' – IgiX
Я не могу скрыть ошибки для всего проекта, так как проект имеет собственную обработку ошибок. Кроме того, чтобы выполнить ping в PHP, вам нужно создать сокет, который выдает точно такую же ошибку и имеет проблемы, указанные выше в OP при попытке решить хост. –