如何通过命令行在ubuntu中永远运行php文件
我正在使用php中的web套接字运行聊天服务问题是,当我关闭命令行时,连接也会关闭,是否有解决方案使聊天服务可以永远运行。 我正在使用这个命令如何通过命令行在ubuntu中永远运行php文件,php,ubuntu,Php,Ubuntu,我正在使用php中的web套接字运行聊天服务问题是,当我关闭命令行时,连接也会关闭,是否有解决方案使聊天服务可以永远运行。 我正在使用这个命令 php -q server.php 在服务器上创建一个php文件,将其命名为start_server.php 并发布此内容 <?php $shell_command = "php -q server.php > /dev/null &"; shell_exec
php -q server.php
在服务器上创建一个php文件,将其命名为start_server.php 并发布此内容
<?php
$shell_command = "php -q server.php > /dev/null &";
shell_exec($shell_command);
?>
现在执行这个命令
php start_server.php我使用
屏幕
来运行php脚本,到目前为止,我还没有遇到任何问题
screen是一个全屏窗口管理器,它在多个进程(通常是交互式shell)之间多路传输物理终端。每个虚拟终端提供DEC VT100终端的功能,此外,还提供ISO 6429(ECMA 48,ANSI X3.64)和ISO 2022标准(例如插入/删除行和支持多个字符集)的若干控制功能。每个虚拟终端都有一个回滚历史缓冲区和一个复制粘贴机制,允许在窗口之间移动文本区域
更多关于屏幕
使用screen的一个缺点是,如果在脚本中进行更改,则必须终止虚拟终端并创建一个新的虚拟终端,以使更改生效
下面是一个示例代码:
$ screen -L php /path/to/php/script
这将创建一个新的虚拟终端
一些有用的命令:
- 要分离屏幕(一旦进入虚拟终端):
ctrl+a+d
- 要恢复屏幕(从主终端分离后):
如果您的机器上运行多个屏幕,则上述命令后面应跟随pid.tty.host字符串,该字符串对于每个屏幕都是唯一的$screen-r
- 终止屏幕:
ctrl+c
- 要列出每个终端的pid.tty.host字符串:
$screen-ls
nohup php-q server.php&我不确定cron-jobs是否能帮到您。@andrex不,cron-job不适合您this@Cheery谢谢,伙计,这对我很管用。您可以将此作为答案发布