-1

我从正在删除的旧服务器继承了旧版 Perl 脚本。该脚本需要在新服务器上实现。我已经在新服务器上。

脚本非常简单;它通过 expect & ssh 连接到网络设备并收集数据。出于调试目的,我只使用从设备收集接口列表的部分。

新服务器上的脚本总是在重新加载后大约 5 秒内向我显示一个页面。很少,它包括来自远程设备的接口列表。最常见的是,它包含除接口列表之外的所有 HTML 元素。

现在,在旧服务器上,有时脚本需要 20 秒才能输出数据。那很好。

基于此,新服务器上的 apache 似乎在 Perl 脚本完成返回数据之前显示数据,尽管这肯定是不正确的。

附加信息: 很遗憾,我无法发布任何代码 - 工作政策。但是,我很确定这不是期望的问题。期望部分写为 expect() 或 die('error msg') ,我没有看到错误消息。但是,如果我将期望超时设置为 0,那么我确实会看到错误消息。

脚本中使用的期望超时值通常为 20 秒……但正如我上面提到的,apache 在大约 5 秒后显示来自脚本的静态内容,并且 95% 的时间不显示应该从期望检索的内容. 此外,脚本将预期内容写入驱动器上的文件 - 即使页面未显示它。

4

2 回答 2

3

我刚刚将我的故障排除 Perl CGI 脚本指南添加到 Stackoverflow。:)

于 2010-01-29T20:49:14.167 回答
1

您可以尝试CGI::Inspect。我不需要自己尝试,但我在 YAPC 上看到了它的演示,它看起来很棒。

于 2009-11-18T20:22:37.750 回答