我在php中使用web-socket运行聊天服务问题是当我关闭命令行时连接也关闭,是否有解决方案使聊天服务可以永远运行。 我正在使用此命令
php -q server.php
答案 0 :(得分:3)
在您的服务器上创建一个php文件,将其命名为start_server.php 并发布此内容
<?php
$shell_command = "php -q server.php > /dev/null &";
shell_exec($shell_command);
?>
现在执行此命令
php start_server.php
答案 1 :(得分:0)
我正在使用screen
来运行php脚本,到目前为止我还没有遇到任何问题。
screen是一个全屏窗口管理器,它在多个进程(通常是交互式shell)之间复用物理终端。每个虚拟终端提供DEC VT100终端的功能,此外还提供ISO 6429(ECMA 48,ANSI X3.64)和ISO 2022标准的若干控制功能(例如插入/删除行和支持多个字符集)。每个虚拟终端都有一个回滚历史记录缓冲区,以及允许在窗口之间移动文本区域的复制粘贴机制。
有关屏幕here的更多信息。
使用屏幕的一个缺点是,如果您对脚本进行了更改,则必须终止虚拟终端并创建一个新的虚拟终端才能使更改生效。
以下是示例代码:
$ screen -L php /path/to/php/script
这将创建一个新的虚拟终端。
一些有用的命令:
ctrl + a + d
$ screen -r
如果您的计算机上运行了多个屏幕,则上面的命令后面应该跟着每个屏幕唯一的pid.tty.host字符串ctrl + c
$ screen -ls