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.
> Желательно, чтобы всё это потом переносилось под Юниксы без особых
> проблем.
>
Есть простое решение, которое, правда не годится при больших нагрузках:
сделай ДВА .php-скрипта. Одному установи разумный timeout и пусть он
ТОЛЬКО забирает файл и отдает его наружу, а второй уже делает все
остальное. Второй ходит куда-нибудь на
http://localhost/path-to-first-on/name.php?arguments
и если получает файл, то получает, если не получает, то не получает.
Нужно только timeout'ы поставить разные - чтобы второй скрипт мог еще
как-то отреагировать на произшедший timeout в первом :-)
=============================================================================
= 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 =