【发布时间】:2016-08-17 23:10:27
【问题描述】:
我目前在家工作(周日!),我试图弄清楚为什么我的 Perl 脚本从调用它的地方返回 NULL 到 PHP。但是,我看不到如何调试 Perl 脚本本身。 PHP 文件返回一个警告,指出我正在尝试对非数组对象执行数组操作(因为预期的数组实际上是 PHP 返回的 NULL)。网络服务器的日志也只记录了这个警告——没有 Perl 错误。
服务器上是否有存储特定“外部”日志的地方?或者,是否有更好的方法来调试从 PHP 文件运行的 Perl 文件,而该 PHP 文件在主 PHP 文件中是必需的?调试不是必需的(我不需要调试模式),但我希望至少看到错误或警告。
【问题讨论】:
-
能不能改一下Perl脚本的源代码添加一些调试代码?
-
@bart 我确实可以做到。我会写什么?
-
你能自己运行 Perl 程序而无需中间的 php 吗?你知道什么进去,什么应该出来吗?你有 shell 访问权限吗?
-
@simbabque 不,我只能通过服务器从 PHP 文件运行文件。我没有外壳访问权限。 (否则我会简单地从 shell 运行脚本。)
-
所以调试器不是一个选项。 answer by bart 是一个好的开始,但了解程序应该做什么也很重要。我认为您也无法安装任何模块,因为您没有外壳访问权限。将@bart 的解决方案与一堆
warn语句结合起来,可能使用Data::Dumper,你应该能够找到问题所在。