我想通过while(true){ }
运行一个php脚本。
它会被其他人发送给我并回答它们。(像雅虎机器人那样)
现在,如果我设置set_time_limit(0)
并使用while(true)
并在我的服务器http://ip-address/yahoo.php
上运行此页面并关闭浏览器,它是否会永远运行?
答案 0 :(得分:5)
不,它不会永远运行,关闭浏览器后脚本会终止。你的整个方法都是错误的,你创建了一个守护进程,它在后台运行时监听套接字,它不会运行(true),因为那是CPU循环浪费,这是一个巨大的循环。
关于websockets和node.js的研究,听起来你需要类似于已经创建的内容。
答案 1 :(得分:4)
ignore_user_abort(true)
可能会这样做
ignore_user_abort - 设置客户端断开连接是否应中止脚本执行
答案 2 :(得分:2)
以这种方式做这不是一个好主意,也不应该有用。 您最好从shell中运行脚本并将其背景化,或者在屏幕上运行它。
答案 3 :(得分:1)
没有
如果您希望脚本永久运行,请在终端(或命令提示符)中运行它。 如果你关闭终端脚本也会停止。
答案 4 :(得分:1)
尝试使用php cli,这样就可以通过命令行运行php了。 你可以创建一个启动它的Bash文件,因此脚本将“永远”运行。
但是如果你通过浏览器启动它就不会永远运行。
答案 5 :(得分:0)