PHP实时查看exec状态,可能吗?

PHP实时查看exec状态,可能吗?,php,ubuntu,Php,Ubuntu,我正在使用ubuntu和mktorrent,我想知道是否有可能将mktorrent命令的输出发送到我的php应用程序live?这样我就可以查看创建torrent的状态了? 此时,exec只是坐在那里等待(有时需要一个多小时:O)torrent完成制作。 php proc open命令是否做了类似的事情,或者我是否必须通过屏幕会话设置找出某种疯狂的ajax?php完全在服务器上执行,呈现的页面被发送到浏览器。为了显示任何进度并使其更新,您必须重复地从服务器请求它(或者让服务器通过套接字或长轮询等方

我正在使用ubuntu和mktorrent,我想知道是否有可能将mktorrent命令的输出发送到我的php应用程序live?这样我就可以查看创建torrent的状态了? 此时,
exec
只是坐在那里等待(有时需要一个多小时:O)torrent完成制作。
php proc open命令是否做了类似的事情,或者我是否必须通过屏幕会话设置找出某种疯狂的ajax?

php完全在服务器上执行,呈现的页面被发送到浏览器。为了显示任何进度并使其更新,您必须重复地从服务器请求它(或者让服务器通过套接字或长轮询等方式发送进度,但想法是一样的)

您需要一种方式让服务器通过命令发布进度更新,并使用某种JS(AJAX)与服务器通信以获得这些更新


如果可以让mktorrent命令将进度输出到文件,那么可以让php在页面加载时读取该文件并将其回显给用户。您可以在几秒钟后使用简单的刷新进度页


有关让PHP异步执行shell命令的信息,请参阅,这样您的PHP脚本就不必等待它完成,从而导致页面挂起,直到任务完成。

PHP在服务器上完全执行,呈现的页面将发送到浏览器。为了显示任何进度并使其更新,您必须反复从服务器请求它(或者让服务器通过套接字或长轮询或其他方式发送进度,但想法是一样的),我认为这不是严格正确的,我有一个从youtube下载视频的脚本,它在脚本执行完成之前为我提供了一个实时的进度视图,或者这仅仅是因为文件\u get\u contents()是非阻塞的或类似的东西?不能说没有看到源代码。。。它可能使用JS与服务器通信以获得进展。PHP无法单独完成这项工作:(是的,ajax会定期在服务器上获取文件大小,它只是在从同一脚本进行活动下载的同时启动……因此,我必须找出某种类型的ajax>屏幕会话设置?如果可以让mktorrent命令将进度输出到一个文件,您可以让php在页面加载时读取该文件并将其回显到用户。您可以使用一个简单的
meta
refresh标记在几秒钟后刷新进度页。不完全正确,请参阅。@DC\u您是对的,没有想到这一点。虽然如果您使用flush,您必须知道某些浏览器在输出任何内容之前需要一定数量的字符。如果您将其放入完整的答案中,我将+1。