Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从php监控perl脚本_Php - Fatal编程技术网

如何从php监控perl脚本

如何从php监控perl脚本,php,Php,我有一个长时间运行的perl脚本,可以输出完成百分比。如何在php页面上实时显示完成状态 示例: perl: php: 这用于显示输出,但不是实时的。为此,您需要使用AJAX 我将使用一个查看状态的PHP脚本,然后让AJAX更新状态以供用户查看。修改您的perl脚本,将输出通过管道传输到平面文件。使用php脚本解析此文件并以您想要的任何格式输出 您可以使用ajax从html页面调用php脚本,或者如果您将perl脚本保存在服务器的CGI目录中,则可以直接调用它,而无需额外的php文件 最后,创建

我有一个长时间运行的perl脚本,可以输出完成百分比。如何在php页面上实时显示完成状态

示例:

perl:

php:


这用于显示输出,但不是实时的。

为此,您需要使用AJAX


我将使用一个查看状态的PHP脚本,然后让AJAX更新状态以供用户查看。

修改您的perl脚本,将输出通过管道传输到平面文件。使用php脚本解析此文件并以您想要的任何格式输出

您可以使用ajax从html页面调用php脚本,或者如果您将perl脚本保存在服务器的CGI目录中,则可以直接调用它,而无需额外的php文件


最后,创建一个漂亮的进度条和利润。

它是如何输出的?每行增加一个新的百分比?在旧百分比上退格,认为它永远不会被解析?perl脚本当前在每行上输出一个新百分比。但是,如果需要,我可以重写它。将perl转换为php。有人知道php更好吗:-)“更好”是为了什么显然是为了监控,或者您可以同时使用perl。好的,但是如何在不重新执行脚本的情况下监控状态?在这种情况下,您需要perl脚本来创建浏览器的套接字,并保持连接打开以便进一步更新。PHP无法在不占用服务器资源的情况下做到这一点。我认为您为我指明了正确的方向。但是proc_open在这里会有更好的用途吗?我不熟悉这个功能,但如果在一个可公开访问的站点或共享托管服务器上执行,它似乎会很危险。也许用这个建议更新你的问题,其他更有知识的人可以插话?
my $i = 0;
for $i (1 .. 6) {
    print "$i\n";
    sleep 1;
}
print "script end\n";
exit;
echo passthru('perl testprint.pl');