Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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
Php 如果没有对数据库的查询,如何每分钟重置一次计时器?_Php_Timer_Refresh_Listener - Fatal编程技术网

Php 如果没有对数据库的查询,如何每分钟重置一次计时器?

Php 如果没有对数据库的查询,如何每分钟重置一次计时器?,php,timer,refresh,listener,Php,Timer,Refresh,Listener,我有一个PHP的基本服务器,每1分钟从移动设备发送数据并保存一次服务器 但是,当我的手机失去连接时,我想在服务器上设置一个计数器,如果手机没有在数据库中插入任何东西超过2分钟。我想调用服务器中的一个函数,说明你的手机失去了连接。每次手机向服务器发送数据时,计时器都会重置 我不熟悉PHP,但我搜索过,没有找到任何类似的东西。我相信一定有一个简单的方法。设置侦听器或创建倒计时 您不能在PHP代码中设置计时器,因为它只在客户端请求页面时运行 由于您没有访问CRON作业的权限,因此也不能从CLI端进行访

我有一个PHP的基本服务器,每1分钟从移动设备发送数据并保存一次服务器

但是,当我的手机失去连接时,我想在服务器上设置一个计数器,如果手机没有在数据库中插入任何东西超过2分钟。我想调用服务器中的一个函数,说明你的手机失去了连接。每次手机向服务器发送数据时,计时器都会重置


我不熟悉PHP,但我搜索过,没有找到任何类似的东西。我相信一定有一个简单的方法。设置侦听器或创建倒计时

您不能在PHP代码中设置计时器,因为它只在客户端请求页面时运行

由于您没有访问CRON作业的权限,因此也不能从CLI端进行访问

但是,有些Web服务允许您定期调用您选择的页面,因此每次调用时都可以保存。请查看以获取更多信息


请注意,如果有人获得保存url,他很容易使您的服务器过载。尽可能地保护它,可能使用作为参数传递的用户/密码组合。

我终于让它工作了。我学到的是,如果没有请求,服务器将无法执行任何操作:因此我在数据库中创建了一个时间戳字段,并用请求更新当前时间。当然,在更新字段之前,获取它并将其与当前时间进行比较,查看最后一个请求是什么时候。找出时差。如果时差大于2分钟,则改变位置。我希望这对其他人也有帮助。

听起来,单纯使用web服务器无法做到这一点。您有权访问cron作业吗?或者你可以通过ssh登录到你的帐户?不,我没有。我只使用基本的php文件将数据保存到数据库中,并从数据库中读取数据。所以没有这样的控制器可以监听。当我思考逻辑时,听起来很容易。每当我调用update.php文件时,在php文件中我都会有一个变量作为计数器,每次调用该文件时,数字都会被重置。基本上这个变量是随着时间倒数的。我不确定这对你来说可能听起来很奇怪。我对php文件一无所知。因此,没有办法拥有一个基本计数器,并在每次请求时不断重置它?不,没有。web服务器提供的php文件不能在请求范围之外运行。因此,没有一个过程可以倒计时。这必须是一个后台服务,这就是我如何做到的问题:我的观点是,你不能只用一个php服务器就做到这一点。