php - 我的代码没有使用“取消链接”(debian 10)删除我的 php 会话
问题描述
因此,我正在尝试编写一个脚本,将访问我的网页的用户数量限制为一次。
所以,我决定做的是使用会话来查找正在记录的连接数,它将这些日志保存在以下目录 /var/lib/php/sessions 中,例如“sess_bsjg9hgiqgl968sj3fr8okm2o7”
因此,当用户进入我的 index.php 页面时,会在上述目录中创建一个 sess_ 文件,并且我会根据文件夹中当前有多少 sess_ 文件来增加一个名为“visitor”的变量。
我的问题是,当用户关闭选项卡(或退出我的网站)时,他们的 php 会话(sess_xxyyxx)没有从文件夹中删除,即使我已经将 session.gc 设置为荒谬的值,希望每次刷新主页时,自动 GC(垃圾清理器)都会删除 php 会话文件。
我的问题是,如果以下代码不起作用,如何通过脚本从文件夹中删除这些 php 会话?
代码贴在下面:
<?php
ini_set();
ini_set('session.gc_max_lifetime', 0);
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1);
$session_path = session_save_path();
$visitors=0;
$handle = opendir(session_save_path());
session_start();
while (($file = readdir($handle)) != FALSE)
{
if ($file!="."&&$file!="..")
{
if (preg_match("/sess/",$file))
{
$visitors++ ;
}
unlink($file);
}
}
?>
解决方案
推荐阅读
- ios - 在 UIKit 中,当用户滑动删除表格视图单元格时,如何显示确认对话框?
- woocommerce - 使用贝宝时如何设置代码片段以禁用yith积分奖励
- python - 获取页面源作为浏览器在 Selenium 中显示
- typescript - 在类成员和方法中扩展泛型类型
- python - 如何跳过/删除行直到某个字符串
- opencv - 使用 CUDA 构建 OpenCV 失败
- amazon-web-services - 如何授权远程用户将角色传递给 SAM lambda 部署中生成的角色?
- python - Python:在函数内使用列表进行迭代
- amazon-web-services - 何时使用 Cloud Formation 以及何时使用 EC2 实例
- flutter - 使用 rFlutter_alert 时图像未显示在 Flutter App 中