我刚刚安装了fcgiwrap和spawn-fcgi,以便能够在nginx中使用perl脚本.我在我的网站配置中添加了这样的内容:
location ~ \.pl${
gzip off;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include fastcgi_params;
fastcgi_index index.pl;
}
如果perl代码中存在错误,浏览器会显示以下消息:
An error occurred while reading CGI reply (no response received)
而且我无法在nginx日志中找到perl错误.如果存在perl编译错误,命令行上的“perl -c”会有所帮助,但它不能帮助我解决运行时错误.
如何告诉perl或fcgiwrap在nginx错误日志或其他一些日志文件中保存错误?
最佳答案
有许多很好的工具可以捕获Perl Web应用程序的运行时错误并向您显示.可以通过各种方式在生产中禁用这些调试工具.它们基本上“评估”了大部分代码,允许它们处理大多数错误.一些例子:
> Plack::Middleware::Debug,适用于任何PSGI应用程序
> CGI::Application::Plugin::DebugScreen for CGI :: Application projects
> Catalyst::Plugin::StackTrace,Catalyst的一个选项.
> CGI::Carp对于旧代码或简单案例有’fatalsToBrowser’.