> 1. Почему-то не работает $r->has_request_body( $x ), если $x это переменная
> содержащая название процедуры, работает только с константной строкой. И > кстати говоря, константная строка должна быть в кавычках, по-другому у меня > не работает, а в примере который в документации строка без кавычек.
Странно, у меня работают все варианты: и переменная, и строка, и просто имя функции без кавычек.
Написал небольшой тест. Результаты какие-то совсем удивительные, это при том что сервер на
0.3.61 стоит рядом и работает как часы уже месяц, код весь практически тот же.
Если браузер MSIE 6.0 или тестовый скрипт который приложен к письму: 1. Строка в переменной и в кавычках выдают такую ошибку в логе:
2006/11/05 12:07:54 [alert] 45251#0: *1 no free perl interpreter, client: 217.67.117.64, server: nginx-test, URL: "/", host: "test", referrer: "
http://test/"
2. Строка без кавычек такую ошибку: 2006/11/05 12:08:37 [error] 45280#0: *1 call_sv("nginx_test::handler") failed: "Can't call method "request_body" on an undefined value at /usr/local/nginx-test/cgi-bin/lib/nginx_test.pm line 16.", client:
217.67.117.64, server: nginx-test, URL: "/", host: "test", referrer: "http://test/" (те в хендлер не передается $r, список параметров пустой)
Если браузер Opera 9.02 или Firefox 1.5.7: 1. Строка в переменной: 2006/11/05 12:13:42 [error] 45445#0: *1 call_sv("") failed: "Undefined subroutine &main:: called.", client:
217.67.117.64, server: nginx-test, URL: "/", host: "test", referrer: "http://test/"
2. Строка без кавычек: 2006/11/05 12:14:36 [error] 45498#0: *1 call_sv("nginx_test::handler") failed: "Can't call method "request_body" on an undefined value at /usr/local/nginx-test/cgi-bin/lib/nginx_test.pm line 16.", client:
217.67.117.64, server: nginx-test, URL: "/", host: "test", referrer: "http://test/"
3. Строка в кавычках работает нормально.
Система freebsd 6.0, nginx-0.4.12, perl 5.8.8, модуль, инфа по перлу, конфиг и тестовый скрипт прилагаются. Все ошибки у меня повторяемые, кеш браузеров и тп тоже никакой роли не играют, все это я проверял.