有什么方法可以将Shell脚本实时输出到网站? [重复]

问题描述 投票:-1回答:1

当客户按下网站上的按钮时,我制作了一个Shell脚本以在服务器上安装Web项目。

我正在通过幼虫作业运行命令

exec("/home/foldername/installation.sh

此shell脚本包含;

  • 创建文件夹
  • 创建数据库并导入sql文件
  • 为域创建虚拟主机。(使用sudo)
  • 重新启动Web服务器。 (使用sudo)

一切正常。我想向客户显示此Shell脚本的实时输出。我该如何实现?

我尝试了交响乐过程。但不允许我运行sudo httpd restart并在根文件夹中创建文件。

php linux laravel shell centos
1个回答
0
投票

您可以使用Symfony\Component\Process\Process类包装脚本,并能够设置回调以处理实时输出。结合网络套接字广播,您就可以在网站上显示它。

这里是官方文档:https://symfony.com/doc/current/components/process.html#getting-real-time-process-output

© www.soinside.com 2019 - 2024. All rights reserved.