我正在尝试为某些python脚本构建Web界面。问题是我必须使用PHP(而不是CGI),并且我执行的某些脚本需要花费一些时间才能完成:5-10分钟。PHP是否可以与脚本进行通信并显示某种进度状态?这应该允许用户在任务运行时使用网页,并在此期间显示某些状态,或者在完成时仅显示一条消息。
当前使用exec()并在完成时处理输出。该服务器正在Windows计算机上运行,因此pcntl_fork将无法工作。
稍后编辑 :使用另一个php脚本使用ajax来提供主页信息似乎不起作用,因为服务器将其杀死(它达到了最大执行时间,除非必要,我真的不想增加它)
我当时在考虑基于套接字的通信,但我看不到这种情况在我的案例中有什么用(也许有些提示?
谢谢
您需要 进程间通信 。套接字是我想到的第一件事。您需要设置一个套接字以 侦听 PHP中的连接(在同一台计算机上),并设置一个套接字以 连接 至Python中的侦听套接字并 发送 其状态。
查看Python文档和Python 模块文档中的套接字编程概述(尤其是最后的示例)。我确定PHP具有类似的资源。socket
socket
一旦对要构建的内容和需要的帮助有了更具体的了解,请随时在StackOverflow上提出一个 新 问题(如果尚未回答)。