从 Web 界面启动 PHP 守护程序

问题描述

我正在用 100% PHP 编写一个简单的聊天程序,它使用 WebSocket(没有外部库,就像在这个 article 中一样)。

显然,这需要一个持续运行的 PHP 脚本/守护进程/事件循环(类似于 Node.JS 的工作方式),我们从以下开始:

php -q websockets.php

nohup ...,或使用专用 Systemd 服务(以 systemctl start myservice.service 开头),或使用 service myservice start

问题:假设安装此聊天软件的人无法访问命令行(或对命令行了解不足),我们如何直接启动 websockets.php 守护程序来自网页,并保持其持续运行?

管理员可以单击其管理面板中的按钮,并通过 XHR/AJAX 请求触发服务器端代码 startup.php。在这个 startup.php 中需要什么才能启动并保持 websockets.php 永远运行?

我知道 exec,但它适用于这种情况吗?

(更准确地说,假设该管理员没有命令行/SSH 访问权限,只能通过 (S)FTP 上传代码;那么他们只能使用 Web 界面来启动或停止聊天守护程序服务器)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)