compwright/php-session 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

compwright/php-session

最新稳定版本:v3.3.0

Composer 安装命令:

composer require compwright/php-session

包简介

Standalone session implementation that does not rely on the PHP session module or the $_SESSION global, ideal for ReactPHP applications

README 文档

README

A PHP session implementation that is single-process safe, compatible with PSR-7 and PSR-15, and does not rely on global variables ($_SESSION, $_COOKIE, etc).

This implementation is patterned after the built-in PHP session library, but is not a drop-in replacement for it. This library differs from the PHP session library in the following ways:

  • Requires PHP 8+
  • Fully object-oriented
  • Strict mode is always on and cannot be disabled
  • Auto-start and auto-shutdown are not supported
  • Reading/writing cookie and cache headers is handled in middleware (included)
  • Handlers implement the built-in PHP SessionHandlerInterface, but the PHP SessionHandler class will not work because it depends internally on the PHP session extension
  • Session data is accessed using a Session object, not via $_SESSION

This library is ideal for single-process event loop-driven applications, using servers like ReactPHP.

Supported Features

Installation

composer require compwright/php-session 

Examples

Slim Framework

See tests/integration/server/App

To run with PHP Development Server:

$ composer run-script start-php 

Basic Usage

$sessionFactory = new Compwright\PhpSession\Factory(); $manager = $sessionFactory->psr16Session( /**  * @param Psr\SimpleCache\CacheInterface  */ $cache, /**  * @param array|Compwright\PhpSession\Config  */ [ 'name' => 'my_app', 'sid_length' => 48, 'sid_bits_per_character' => 5, ] ); // Start the session $manager->id($sid); // Read $sid from request $started = $manager->start(); if ($started === false) { throw new RuntimeException("The session failed to start"); } // Read/write the current session $session = $manager->getCurrentSession(); $session["foo"] = "bar"; unset($session["bar"]); // Save and close the session $ended = $manager->write_close(); if ($ended === false) { throw new RuntimeException("The session failed to close properly, data may have been lost"); }

License

MIT License

统计信息

  • 总下载量: 8.59k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 18
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 18
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固