Як зробити скрипт, що постійно працює

в сенсі як зробити php-botа?? СЕБЕ через http:// пробивал(типу флуд контроль спрацьовує) ------------ ini_set("Max Requests", 0); set_time_limit(0 ); ignore_user_abort(1); ------------ не допомагає. хоча судячи з phpinfo() safe mode = off і ехец_таймаут = 0 - прямий так і пише, мовляв дефолтово - 30(або 20) а зараз 0

ЧОМУ. помилок на кшталт HЕТ.. від чого ЩЕ залежить виконання.

ще я краєм вуха чув про crontab. тільки ось досліди ніде ставити ж/ я так зрозумів що у халявного хостера - це згубна справа(запис у файл-конфіг потрібна) ПРО ЩО РОБИТИ? ж((

відомий шлях до php => я так розумію це запуск із командного рядка(cgi?) може його і запускати слід якось по хитрому череху exec(); . хостер - FATAL.RU до речі.

та ще на тему. можна взагалі у халявного хостера через SHELL запускати файли на виконання після того, як я від'єднався. особливо цікавить зациклені php. чи доступна запис у конфіг crontabа, а якщо мона то ДЕ. на яких серваках. :хоча напевно пошлють куданити звідси ж/: але все одно мені це для запуску php бо скрипт самопальний - а інших мовоф я поки не знаю ж) і взагалі. де хостить ІРЦ-ботів і чи є сенс писати їх на PHP. о_0

може хтось допоможе. :unsur:

27 Вер 03 02:29, you wrote to Roman Dubrov: RD>> ignore_user_abort(2) тебе врятує. а взагалі почитай ман там RD>> де про створення демона пишуть. у мене все працювало. PY> До речі, де саме? У документації PHP у цієї функції немає PY> опису параметра. Тільки те, що він має бути типу int.

тупо дивлюся штатнийmanual.html.

=== Запустити буфер обміну Windows === ignore_user_abort (PHP 3>= 3.0.7, PHP 4 )

ignore_user_abort -- Встановіть, чи має відключення клієнта переривати сценарій виконання Опис int ignore_user_abort ( [налаштування int])

Ця функція встановлює, чи має відключення клієнта призводити до переривання сценарію. Він поверне попередні параметри та може бути викликаний без аргументу, щоб не змінювати поточний параметр і лише повертати

=== Завершити роботу з буфером обміну Windows === === Почати роботу з буфером обміну Windows === Розділ 21. Обробка підключення Примітка: наведене нижче стосується 3.0.7 і новіших версій.

Всередині PHP підтримується стан з’єднання. Є 3 можливі стани:

=== Закрити буфер обміну Windows ===

RD>>> ignore_user_abort(2) тебе спасет. а взагалі почитай ман там AK> Примітка: наведене нижче стосується 3.0.7 і пізніших версій.

нормально, вона і є нормально.

все рівно на сервері в інете скрипт вирубається, а локально як працював, так і працює. я записав усі помилки у файлі - error_reporting(E_ALL); set_error_handler('функция'); ошибки логіняться, але вмирають у sleep'e(ведуть лог виклику ПЕРЕД викликом основних функцій)

никакой записи в лог HЕ добавляется.

------------ /сервер в інете:/ PHP версія 4.3.3 Система FreeBSD selena.hoha.ru 4.7-RELEASE FreeBSD 4.7-RELEASE #1: Sun Mar i386 /сервер дома:/ PHP версія 4.0.6 Система Windows NT 5.1 build 2600 ------------ может этот експеримент убрали в нових php. або додали ще одну змінну, наприклад timeout_after_abort ж/ може хто в курсі.

а може цей параметр зробили reaonly, щоби не вешали сервак кривими/варварськими скриптами. ж(

прим: тривалість життя скрипта: (01.10 15:35:07)/while.php > ---------1st while start--------- ////////////////тодась. (01.10 15:43:49) /pm_while.php > sleep: 85

тобто близько 10 хвилин.

RD>>> ignore_user_abort(2) тебе врятує. а взагалі почитай ман там AK> Note: The following applies to 3.0.7 and later.

нормаль, вона є нормаль.

все одно на сервері в інеті скрипт вирубується, а локально як працював, так і працює. я записував всі помилки у файл - error_reporting(E_ALL); set_error_handler('функція'); помилки логуватися, але вмираючи в sleep'e(веду лог ПЕРЕД викликом основних функцій)

ніякого запису в лог HЕ додається.

------------ /сервер в інеті:/ PHP Version 4.3.3 System FreeBSD selena.hoha.ru 4.7-RELEASE FreeBSD 4.7-RELEASE #1: Sun Mar i386 /сервер будинку:/ PHP Version 4.0.6 System Windows NT 5.1 build 2600 ------------ може цей експеримент прибрали у нових php. або додали ще одну змінну, наприклад timeout_after_abort ж/ може хтось в курсі.

а може цей параметр зробили reaonly, щоб не вішали сервак кривими/варварськими скриптами. ж( Пис, Alex!

RD>>> ignore_user_abort(2) тебе врятує. а взагалі почитай ман там AK> Note: The following applies to 3.0.7 and later.

нормаль, вона є нормаль.

все одно на сервері в інеті скрипт вирубується, а локально як працював, так і працює. я записував всі помилки у файл - error_reporting(E_ALL); запису в лог HЕ додається.

------------ /сервер в інеті:/ PHP Version 4.3.3 System FreeBSD selena.hoha.ru 4.7-RELEASE FreeBSD 4.7-RELEASE #1: Sun Mar i386 /сервер будинку:/ PHP Version4.0.6 System Windows NT 5.1 build 2600 ------------

пробував нескінченний цикл, пробував замість циклу перезапускати через http-запит, пробував і комбінований метод - запускати скрипт з циклом на час роботи 5хвилин (за дослідами працював і 8-9), після чого він через http-запит запускав паралельний процес, а сам помирав. скрипт прожив 8 хвилин, тобто один запуск з/ чому. 1. це не анти бот-клієнт/анти-хак/анти-флуд, тому як запит був лише 1 2. це не скрипт-таймаут, оскільки. реконнект спрацював 3. це не помилка в скрипті - у мене локально все нормально парсилося і працювало ВСЕМИ 3-ма методами

висновок: анти-бот-сервер, але за яким тоді принципом він працює. (Сумно усвідомити, що і сам би придумав десяток сторонніх від php антиботів)

може хто допоможе з php, а ще краще - безплантим хостингом з автозапуском при отриманні e-mail, або кронтабом + php (бажаному саме його)