Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保持xmphp机器人始终在线_Php_Xmpp_Bots_Google Talk - Fatal编程技术网

保持xmphp机器人始终在线

保持xmphp机器人始终在线,php,xmpp,bots,google-talk,Php,Xmpp,Bots,Google Talk,我用PHP创建了一个简单的xmpp机器人,它连接到GoogleTalk服务器。我基本上修改了cli_longrun示例。当我在浏览器中运行脚本时,bot会联机并保持联机一段时间,即使在我关闭脚本运行的选项卡之后也是如此(因为它只是一个无限循环,用于侦听流中的事件)。但是过了一段时间,机器人就离线了 问题是如何让机器人始终在线。我能想到的一种方法是运行一个cron,断开先前的cron并启动一个新会话。但是有更好的方法吗?从命令行运行它,确保脚本不会结束。请确保将其设置为0,以防止其自毁。从命令行运

我用PHP创建了一个简单的xmpp机器人,它连接到GoogleTalk服务器。我基本上修改了cli_longrun示例。当我在浏览器中运行脚本时,bot会联机并保持联机一段时间,即使在我关闭脚本运行的选项卡之后也是如此(因为它只是一个无限循环,用于侦听流中的事件)。但是过了一段时间,机器人就离线了


问题是如何让机器人始终在线。我能想到的一种方法是运行一个cron,断开先前的cron并启动一个新会话。但是有更好的方法吗?

从命令行运行它,确保脚本不会结束。请确保将其设置为0,以防止其自毁。

从命令行运行它,并确保脚本不会结束。确保您将其设置为0,以防止其自毁。

从命令行运行它,只要脚本没有中断,只要提示符打开,它就会一直运行


如果这是在共享主机上,他们很可能有措施防止脚本永远运行,即使您设置了时间限制(0)——因此您可能运气不好。

从命令行运行它,只要脚本没有中断,只要提示符打开,它就会一直运行


如果这是在共享主机上,则很可能他们已采取措施防止脚本永远运行,即使您设置了时间限制(0)——因此您可能运气不好。

还可能使用crontab条目“@reboot sleep 300;”/runbot.sh”重新启动脚本如果允许cron访问,则在crontab中。

如果允许cron访问,还可能在crontab中使用crontab条目“@reboot sleep 300;”/runbot.sh”来重新启动脚本。

即使在命令行中,您也必须使用nohup,否则它可能在断开连接后结束。大多数共享主机也会终止运行时间过长的进程。即使如此,您也必须从命令行使用nohup,否则它可能会在您断开连接后终止。大多数共享主机也会结束运行时间过长的进程。是的,谢谢。那绝对是一件要做的事。我总是忘记这些边缘案例:)是的,谢谢。那绝对是一件要做的事。我总是忘记这些边缘案例:)