在屏幕上向用户显示页面时,在后台执行shell脚本

时间:2010-10-25 17:28:18

标签: php html multithreading

在我的应用程序中,我正在运行一个shell脚本,但在脚本完成执行之前,屏幕是空白的。我无法在屏幕上显示任何内容。我想向用户显示日志文件,所以在生成日志文件之前,我希望用户在屏幕上看到一些文本内容。

我读过之前发布的问题,他们说PHP中的多线程是不可能的。

我有办法做到这一点吗?

3 个答案:

答案 0 :(得分:2)

这两个问题可能会有所帮助:

1> exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));

php execute a background process

2 - ;  ignore_user_abort(true)

答案 1 :(得分:1)

我会使用jQuery。

从主页调用加载php脚本的页面。

网主页

  • 带有$(document).ready()的基本html页面使用jQuery.get()
  • 加载script.php页面
  • 在初始状态下,div包含一些 文本。
  • 调用成功时,在同一div中加载内容。

链接到jQuery.get():http://api.jquery.com/jQuery.get/

答案 2 :(得分:0)

这些问题表明它是,现在是不可能的,取决于你所看到的答案; Multithreading in PHP

How can one use multi threading in PHP applications

你应该看看; http://joseph.randomnetworks.com/2005/10/21/fake-fork-in-php/