首页 > 编程语言 >PHP session 阻塞问题

PHP session 阻塞问题

时间:2022-10-31 07:44:05浏览次数:50  
标签:文件 需要 Redis 阻塞 session PHP

由于PHP 实现session的机制 默认是利用把信息储存在文件里的,这就是涉及到读取文件

需要保证一定安全性所以需要在读写的时候锁文件,如果不及时解锁,如程序的业务过程较长就会导致后面需要再session时就会有个时间过程,就是说session阻塞了。

这种问题就是在同域下的程序文件执行下,如果需要session值时也会导致时间等待

(a.php 设置session值)(b.php 获取session)

 

 

当session_start();开启时,这个会话就开启了如果需要结束,需要手动 ,用到session_write_close函数或session_commit函数

代码示例:

<?php
session_start();
$_SESSION['name'] = 'yangshiyi';
sleep(8);
var_dump($_SESSION['name']);

上面代码需要8秒才能执行$_SESSION['name'],如果其他页面正好用到也会等8秒

写在同一个文件的不同的session值,同样会阻塞

需要如此解决了:

<?php
session_start();
$_SESSION['name'] = 'yangshiyi';
session_commit();
sleep(8);
var_dump($_SESSION['name']);

如果用Redis作为媒介不用考虑阻塞,但需要考虑Redis连接数过小的问题

 

标签:文件,需要,Redis,阻塞,session,PHP
From: https://www.cnblogs.com/yangshiyi/p/16842969.html

相关文章

  • nginx容器与php-fpm容器连接方式
    文档说明:只记录关键地方;获得nginx和php基础镜像的内默认配置文件从容器镜像中拷贝文件到容器外#!/bin/bashset-eux__DIR__=$(cd"$(dirname"$0")"pwd)c......
  • 构建PHP容器
    文档说明:只记录关键地方;构建脚本php-cli-alpine#!/bin/shset-uxTIME=`date-u'+%Y%m%dT%H%M%SZ'`VERSION="7.4-cli-alpine-"${TIME}IMAGE="wenba100xie/php:${......
  • Session
    概念Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session......
  • php yield详解
     一.介绍  二.简单例子//包含yield的函数可以生成一个generator对象,可以被foreach遍历functionGenerator(){for($i=0;$i<3;$i++){echo"输出存在......
  • pikachu php反序列化漏洞
    原理php中serialize(),unserialize()这两个函数。序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象:classS{publ......
  • php 读取 csv 转数组列表
    我们有个文档需要修改,但是文档列太多,以及数量太大,以至于眼睛看起来很吃力,于是我决定做个简单的转化用脚本读取我想要验证的列的内容是否正确.于是就产生了一个这样将csv......
  • 同一个tomcat 共享session
    问题记录 最近学整理java项目session常常用来存储一些公共信息供不同页面访问,比如用户登录信息。访问同一个tomcat下的不同项目所创建的session是不一样的。自然地面临了如......
  • 问题IllegalStateException: The mail session is already initialized解决
    概述很【简单】的一个问题,之前从来没有遇到过;第一反应是搜索Google,没有找到解决方案。木有办法,只好去看源码;看到源码后,很容易就能解决问题。还是记录一下此文。同时,告诫一下......
  • nginx容器与php容器连接
    文档说明:只记录关键地方;试验环境:linuxdebian11目标:nginx容器与php容器连接构建PHP容器curl-fsSL'https://curl.haxx.se/ca/cacert.pem'-o/usr/local/etc/p......
  • 最新php多商户多仓库带扫描云进销存系统ERP管理系统Saas营销版无限商户源码
    1、电脑端+手机端,手机实时共享,手机端一目了然。2、多商户Saas营销版无限开商户,用户前端自行注册,后台管理员审核开通3、管理员开通商户,可以设置商户到期时间、权限等等,无......