如何在Azure中显示Perl错误? 问题:
Perl脚本生成的错误不会在Azure web应用程序中显示或记录 复制步骤:如何在Azure中显示Perl错误? 问题:,perl,azure,strawberry-perl,Perl,Azure,Strawberry Perl,Perl脚本生成的错误不会在Azure web应用程序中显示或记录 复制步骤: 使用将草莓Perl安装到Azure web应用程序 该指南最相关的部分是,我已将Perl配置为.pl扩展的处理程序,使用参数为-MFCGI::IIS=do的Perl.exe 启用本地文件系统日志记录(错误级别:详细) 启用详细的错误消息和失败的请求跟踪 在浏览器中运行以下测试脚本: use strict; use warnings; use diagnostics; use CGI::Carp 'fatalsTo
- 使用将草莓Perl安装到Azure web应用程序
该指南最相关的部分是,我已将Perl配置为.pl扩展的处理程序,使用参数为
的-MFCGI::IIS=do
Perl.exe
- 启用本地文件系统日志记录(错误级别:详细)
- 启用详细的错误消息和失败的请求跟踪
- 在浏览器中运行以下测试脚本:
use strict; use warnings; use diagnostics; use CGI::Carp 'fatalsToBrowser'; use CGI; my $q = new CGI; print $q->header(-type => "text/plain"); print "Hello, World!\n"; die "This is a test"; print "End of script.";
- 脚本在“Hello,World!”之后停止(“脚本结束”和“这是一个测试”不显示)
- 在/LogFiles目录中的任何日志文件中都找不到“这是一个测试”
- 草莓Perl在通过命令行执行时运行(使用Kudu)
- 使用命令行运行时,脚本将生成预期结果: [Thu Mar 10 16:09:30 2016] azure-test.pl: This is a test at d:\home\site\wwwroot\cgi-bin\azure-test.pl line 12. Content-Type: text/plain; charset=ISO-8859-1 Hello, World! <h1>Software error:</h1> <pre>This is a test at d:\home\site\wwwroot\cgi-bin\azure-test.pl line 12. </pre> <p> For help, please send mail to this site's webmaster, giving this error message and the time and date of the error. </p> [Thu Mar 10 16:09:30 2016]azure-test.pl:这是在d:\home\site\wwwroot\cgi bin\azure-test.pl第12行进行的测试。 内容类型:文本/纯文本;字符集=ISO-8859-1 你好,世界! 软件错误: 这是在d:\home\site\wwwroot\cgi-bin\azure-test.pl第12行进行的测试。 如需帮助,请将此错误消息发送给此网站的网站管理员 以及错误发生的时间和日期。
Azure中的另一段代码失败,但Perl中没有。我需要查看Azure环境中生成的错误,以便对其进行故障排除。通过调整*.pl扩展名的处理程序映射的附加参数,可以将错误发送到浏览器 特别是,
-MFCGI::IIS=eval
对我很有用
看
请注意,浏览器中仍然没有报告某些错误。例如,DBI数据库调用似乎存在问题,导致进程停止而不显示错误消息
可以使用失败的请求跟踪查看这些错误
可以在所有设置->诊断日志->失败请求跟踪下启用失败请求跟踪
生成的日志可通过FTP访问,地址为/LogFiles/W3SVC*/fr*.xml
要查看这些文件,请根据您的请求下载XML文件,并从同一目录下载freb.xsl。然后可以在XML查看器(如Internet Explorer)中查看日志XML文件
更多信息:
打印
,其中调用了警告
或模具
。第二,您将发送两次标题。第三,这可能与您的web服务器设置有关,而不是其他任何内容。找到日志所在的位置,找出您选择记录的内容。@SinanÜnür 1。生产代码使用die
,此处使用print
,因为我可以确认脚本中其他地方使用的print
语句有效。修改为警告
;行为没有改变。2.删除页眉打印语句;行为没有改变。3.我已经指出了在Azure中查找日志的位置(以及我的日志设置)。如果有一个不同的地方记录了这些错误,这将是一个可以接受的答案。所以我正在记录投票和接近投票。。。Azure配置是否与SO无关?如果是这样的话,在哪里发布这样的问题更好?你没有发布一个简短完整的脚本来演示这个问题。您需要将问题从您引入的所有混杂因素中分离出来。接近票数的是“太宽”。。。也就是说,“鉴于模糊和不完整的描述,有太多的事情可能是错误的,因此不值得费心”。你可以选择帮助别人帮助你。这取决于你。@SinanÜnür我已经重新组织了这个问题,并将复制步骤减少到最小。这样更好吗?