|
|
|
(Perl) mod_perl кеширует все подряд :(
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Возникла серьезная проблема с кешированием под mod_perl. Запрашивается скрипт например new_order.cgi с параметрами всегда разными, скрипт отрабатывает и заносит в БД данные, так вот данные берутся на основании переданных параметров, а они всегда одни и теже, хотя приложение их передает разные. Н берется всегда только первые, которые при первом запросе получает скрипт. Скрипт запрашивается и передаются параметры методом get. Скрипту так же при запросе передаются след. прагмы, заголовки, но не помогает: "Pragma", "no-cache" "Cache-Control", "no-cache" Помогите пожалуйста избавится от такого кеширования. Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 14:41:06 |
|
||
|
(Perl) mod_perl кеширует все подряд :(
|
|||
|---|---|---|---|
|
#18+
показывай код скрипта и настройки апача ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 17:19:50 |
|
||
|
(Perl) mod_perl кеширует все подряд :(
|
|||
|---|---|---|---|
|
#18+
Часть скрипта, суть: ####################3 use strict; my $dbh = ConnDB::connect(); # Соединение с БД. # Получаем параметры с пом. модуля CGI my $q = new CGI; my $ip = $ENV{'REMOTE_ADDR'}; my $sid = $q->param("sid") || undef; ################ Обрабатываем все параметры перед вставкой так: $instrument = $dbh->quote($instrument); .......................... и т.п. ################ # Вставляем новую запись данных Ордера в таблицу $dbh->do("INSERT INTO fx_client_orders (client_id, start_take_profit, instrument, volume, operation, type_order, price_execution, stop_loss, take_profit, entry_price, open_order, margin_in_usd) VALUES ($client_id, $start_take_profit, $instrument, $volume, $operation, $type_order, $price_execution, $stop_loss, $take_profit, $entry_price, NOW(), $margin_in_usd)"); ################ Выдаем ответ запросившему приложению в XML: print "Content-type: text/xml\n\n"; print '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; exit; ##########################################3 Модули загружаются при старте Apache 1.3.33 (под Win32), а именно (startup.pl): use strict; use Apache::DBI(); # Должен загружаться до других модулей DBI use lib qw(D:\webserver\home\fx.ru\perl_modules); # Путь к собственным модулям use CGI(); CGI->compile(':all'); # Явно вызываем все функции и компилируем use CGI::Carp qw(fatalsToBrowser); use DBI(); use DBD::mysql(); # Явно вызываем драйвер БД use ConnDB; # После модулей DBI use User::pwent; use XML::Parser; use HTML::Template(); use FXdata(); return 1; ##################### Конфиг веб-сервера: LoadFile "D:/webserver/usr/bin/perl58.dll" LoadModule perl_module modules/mod_perl.so ScriptAlias /mod-perl/ "/home/mod-perl/" ########### ЗАГРУЖАЕМ МОДУЛИ ПРИ СТАРТЕ СЕРВЕРА ################### PerlModule Apache::Registry #PerlModule Apache::DBI #PerlModule DBI #PerlModule DBD::mysql PerlRequire conf/startup.pl ########### ВКЛЮЧАЕМ ОБРАБОТКУ MOD_PERL ########################### <Location /mod-perl> SetHandler perl-script PerlHandler Apache::Registry PerlSendHeader on Options +ExecCGI allow from all </Location> ################################################################### ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 17:39:24 |
|
||
|
(Perl) mod_perl кеширует все подряд :(
|
|||
|---|---|---|---|
|
#18+
Ошибка в принципе ясна. Не понятно как это бойти, т.е. все переменные сохраняют свое знаяение после отработки скрипта и заново не инициализируются. Т.е. если например $sid=Ключ сессии, и в конце программы я присвою $sid=undef; То при след. запросе этого скрипта пр условии то, что тот же httpd процесс будет обрабатывать его, то $sid=undef и внутри программы уже не получит реальный КЛЮЧ Сессии. Так дело обстоит со всеми переменными. Подскажите пожалуйста как быть? Т.к. под mod_perl ранее не писал, опыта мало, а необходимость есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 19:10:55 |
|
||
|
(Perl) mod_perl кеширует все подряд :(
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ...надеюсь это переменные имеют видимость не на уровне скрипта... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 22:52:47 |
|
||
|
(Perl) mod_perl кеширует все подряд :(
|
|||
|---|---|---|---|
|
#18+
Так вот именно видимость не на уровне скрипта и как с этим работать не пойму ?! :( Поставил под Apache::Perlrun ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 01:18:26 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33741101&tid=1476117]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 384ms |

| 0 / 0 |
