javascript - PHP在不访问网站的情况下执行网站代码

标签 javascript php jquery ajax

我不知道这是否可能,或者是否存在,但我很好奇想知道。我不想给出错误的想法,在给出示例之前描述我想要实现的目标肯定会 - 所以我将直接深入其中。

据我所知,网站上的代码只有在有人访问这些网站时才会执行。如果没有人访问这些网站,代码就会放在那里。如果没有人使用这些代码就没有理由运行,对吗?

现在我要提出的建议可能听起来很荒谬,但请听我说完。我不知道有没有办法做到这一点,所以我只是想问问。有没有办法在没有人访问网站本身的情况下运行这些代码?

现在我知道你们中的一些人会说,“哈?他在说什么?如果没有人在网站上,为什么还要运行这些代码?这实际上毫无意义,”所以我要走了试图证明为什么我希望这样的事情成为可能。

例如,如果您想创建一个脚本,以便在用户处于非事件状态一段时间后自动注销该用户,您需要检查他们在过去(时间量)内是否处于事件状态在注销之前等待)。您可以使用 AJAX 检查它们最近是否处于事件状态(注销它们之前等待的时间)。如果他们导航或刷新页面,那么它将重置计数器,并让您知道他们最近一直处于事件状态(注销之前等待的时间)。但是,如果他们在(注销之前等待的时间)内不执行任何操作,他们将自动注销。

如果他们关闭浏览器,或者退出使用 AJAX 监视其进度的选项卡,它将不再监视他们的进度,因此他们的计数器将不会更新,因此您将不知道他们是否处于事件状态或不。如果他们关闭选项卡或浏览器,您不能直接将他们注销,因为如果他们打开了您网站的多个选项卡或浏览器怎么办?然后,您只想在他们关闭所有这些程序时将其注销。

我还有其他例子,但这就是要点。有没有办法在用户不访问网站的情况下执行网站上的代码?谢谢。

最佳答案

您正在寻找cron 作业。它们基本上是在设定时间运行的预定作业。 cron 作业可以运行各种脚本,包括 PHP 脚本。

这样的脚本是否可以轻松清除过期 session ,我不知道。这可能取决于您存储 session 的方式。

在网站中实现它可能同样容易。如果您存储用户的最后一个事件时间戳,则只需检查新请求该时间戳是否太旧,如果是,则删除 session 并重定向到登录页面。这样,用户就可以正式保持登录状态,直到下一个请求为止。

您可以选择删除 PHP 记住的旧 session 。查看相关问题:Cleanup PHP session files .

关于javascript - PHP在不访问网站的情况下执行网站代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30696720/

相关文章:

javascript - 用于动画和更新 div 的 ui slider

javascript - 我想创建一个有条件的 javascript 数组

PHP 产生不正确的算术结果

javascript - $(input).blur() & $(input).focusout

jquery - 不在同一行的 HTML 元素

javascript - 如何修复 HTML 页面中的 "Google signin"按钮样式?

javascript - React.js : Access Overall App State from a Standalone Component

PHP 可搜索迭代器 : catch OutOfBoundsException or check valid() method?

php - Laravel 编辑路由最佳实践

jquery - 此代码在 iOS 9.3 后在 Safari 中停止工作