Forum Webscript.Ru
Программирование => Perl => Тема начата: CJ Shark от 05 Февраля 2005, 22:24:49
-
Люди, подскажите плз, у меня такая проблема:
У меня стоит в WinXP локальный Apache 1.32 и Perl 5.6.1
С простыми быстрыми скриптами всё работает корректно.
Когда запускаю довольно долгие скрипты, страница сначала грузится чуть меньшке секунды, а затем просто повисает и перестаёт давльше грузиться. При этом, при каждом таком инцеденте, новый процесс perl.exe остаётся висеть в памяти. Ещё один любопытный факт - в программке PerlBuilder2.0, которая использует тот же самый perl, этот же большой скрипт выполняется до конца и не виснет.
Я думаю - дело в неправильной конфигурации Apache. Там есть такой параметр TimeOut в httpd.conf. Его значение по умолчанию 300 секунд! Но ни как не 1. Пробовал я его всё же менять - не помогает. Подскажите, как быть, плз...
-
В логах пусто?
Что значит "довольно долгие скрипты", что они делают?
-
Спасибо что откликнулись!
Да, в логах на эту тему чисто. Т.е. почистил все логи ошибок сервера. Затем запустил один такой скрипт. Результат - на ~30% загруженная страница, в памяти висит perl.exe, дальше ни чего не роисходит. Тот же самый скрипт пускаю PerlBuilder\'ом (который юзает тот же интерпритатор perl) - скрипт работает с секунду и выдаёт все результаты как надо.
Скрипт выводит таблицу с содержимым БД. Начинает виснуть после того как в БД>~5-7 записей...
-
Забыл сказать. В итоге - в логах ошибок ни чего нет!
-
Или самому искать где виснет (выставлять print по ходу исполнения скрипта) или писать разработчику - третьего не дано.
-
CJ Shark, проверь не используешь ли ты где-нибудь неинициализированные переменные. У меня было нечто похожее - один и тот же скрипт иногда то нормально работал, то вообще не работал, при этом в случае неработы логи тоже были чистые.
-
Да, такие действительно есть. Попробую, может поможет?...
-
Нет. Всё же дело не в этом. Apache барахлит. Чувствую... Что-то там с настройками. Скрипты, что больше секунды работают - виснут, блин!... Попробовать что-ли новый Apache 2.??? поставить?...
-
Запусти скрипт без апача.
с:\\usr\\bin\\или\\где\\он\\утебя\\проинстален\\perl -w perlscript.cgi