Hello Khimenko,
Наверно правильнее использовать fsockopen() тем самым проверить есть
ли возможность сделать коннект на нужный ност и порт, если нет то
игнорировать этот хост.
http://www.php.net/fsockopen
KV> On Wed, 12 Dec 2001, Dmitry Davidov wrote:
>> Доброе время суток!
>>
>> Есть проблема, которую никак не удаётся решить.
>> Сам разбираюсь плохо, поэтому требуется совет.
>>
>> Есть: Russian Apache 1.3.22 + PHP 4.0.6 (как модуль) под 98-й виндой.
>> Надо: Скриптик на ПХП пробегает массивы адресов, пытаясь подключится
>> по FTP при помощи стандартных пхп-функций типа ftp_...... (скрипты
>> индексируют содержимое множества FTP в большой локалке, а конкретно
>> этот скрипт ищет новые FTP-сервера).
>>
>> Проблема: Когда компьютер включен и на нём есть или нету FTP-вервера,
>> то всё идёт как по маслу. А вот когда компьютер выключен, скрипт
>> долбится практически бесконечно (до предела, прописанного в
>> max_execution_time). Таким образом, надо чтобы скрипт получал отлуп
>> при невозможности приконнектиться к FTP (или к IP) и шёл дальше.
>>
>> Попытался покрутить соответсвующие настройки Апача и ПХП, но толку из
>> этого не вышло. Так же пробовал использовать сокеты, но тоже ничего не
>> вышло.
>>
>> P.S.
>> Желательно, чтобы всё это потом переносилось под Юниксы без особых
>> проблем.
>>
KV> Есть простое решение, которое, правда не годится при больших нагрузках:
KV> сделай ДВА .php-скрипта. Одному установи разумный timeout и пусть он
KV> ТОЛЬКО забирает файл и отдает его наружу, а второй уже делает все
KV> остальное. Второй ходит куда-нибудь на
KV> http://localhost/path-to-first-on/name.php?arguments
KV> и если получает файл, то получает, если не получает, то не получает.
KV> Нужно только timeout'ы поставить разные - чтобы второй скрипт мог еще
KV> как-то отреагировать на произшедший timeout в первом :-)
Не очень красивое решение
Best regards,
Andrew Sitnikov
e-mail : sitnikov@infonet.ee
GSM : (+372) 56491109
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =