При переходе с 0.3.49 на одну из последних версий (пробовал уже трижды,
0.4.2, 0.4.3, 0.4.7) практически перестаёт работать ngx_http_perl_module, в
частности, не работают методы $r->:
[error] 20335#0: *1 call_sv("redirector_a_tmp::handler") failed:
"Modification of non-creatable array value attempted, subscript -1 at ...
line 22...
[debug] 20335#0: *1 perl handler done: 500
Пытались отловить, например, $r->header_in("X-Orig-URL") -- получаем пустую
строку.
А тестовый скрипт c сайта (hello.pm) приводит к такому:
[debug] 20136#0: *1 using configuration "/"
[debug] 20136#0: *1 http cl:-1 max:1048576
[debug] 20136#0: *1 generic phase: 3
[debug] 20136#0: *1 post rewrite phase: 4
[debug] 20136#0: *1 generic phase: 5
[debug] 20136#0: *1 access phase: 6
[debug] 20136#0: *1 access phase: 7
[debug] 20136#0: *1 post access phase: 8
[debug] 20136#0: *1 perl handler
[debug] 20136#0: *1 malloc: AFD7D008:134754885
[notice] 20135#0: signal 17 (SIGCHLD) received
[alert] 20135#0: worker process 20136 exited on signal 11
Версия perl version: v5.8.0 built for i686-linux
А может быть так, что не проинсталлировался новый nginx.pm, nginx.so и
прочая ? В следующей версии будет проверка на соответствие версий перлового
модуля и nginx'а.
Игорь Сысоев
http://sysoev.ru