我正在编写一个 Nginx 配置,它调用一个带有一些 Nginx 变量作为参数的 perl 脚本,并向脚本返回一个值,就好像 Nginx.conf 是这个 perl 脚本的主要部分一样。我已经在 Nginx 上启用了 perl 模块,并从 nginx 配置成功运行了一个 helloworld。作为 perl 的新手,你能帮我知道这是什么问题吗?这是我的 test.pm
#!/usr/bin/perl
sub function {
my $r = shift;
my $foo = $r->variable('foo');
print $foo;
}
这就是我在 Nginx.conf 上的称呼
set $foo 100;
perl My::function ;
这就是我在控制台上得到的
nginx: [emerg] require_pv("test.pm") failed: "test.pm did not return a true value at (eval 1) line 1."
如果我像这样更改我的 nginx conf
perl My::function 100 ;
我明白了
nginx: [emerg] invalid number of arguments in "perl" directive in /usr/local/nginx /conf/nginx.conf:22