Skip to content

fix: Add create_sid() to CI_SessionWrapper for PHP 8.6 compatibility - #55

Open
ajdunn2 wants to merge 1 commit into
pocketarc:developfrom
ajdunn2:fix/session-wrapper-create-sid
Open

fix: Add create_sid() to CI_SessionWrapper for PHP 8.6 compatibility#55
ajdunn2 wants to merge 1 commit into
pocketarc:developfrom
ajdunn2:fix/session-wrapper-create-sid

Conversation

@ajdunn2

@ajdunn2 ajdunn2 commented Sep 8, 2026

Copy link
Copy Markdown

PHP 8.6 deprecates session save handlers that implement SessionHandlerInterface without a create_sid() method. The method will be required in PHP 9.0.

Add create_sid(): string to CI_SessionWrapper, delegating to session_create_id() to clear the deprecation. The method has been supported as an optional hook since PHP 7.1 and is a no-op on earlier versions, adding it shouldn't change behaviour on PHP 8.0 - 8.5, it just clears the 8.6 deprecation ahead of the 9.0 requirement.

Verified on PHP 8.0 - 8.5 and 8.6 beta 2:

  • Starting new sessions and resuming existing ones
  • session_regenerate_id() and session_regenerate_id(true)
  • Explicit session_create_id() calls
  • No warnings or deprecations during these checks

PHP 8.6 deprecates session save handlers implementing SessionHandlerInterface without a create_sid() method, ahead of making it required in PHP 9.0.

Add create_sid(): string to CI_SessionWrapper delegating to session_create_id(). This hook has been supported since PHP 7.1 and maintains identical behavior on PHP 8.0-8.5 while clearing the PHP 8.6 deprecation.

Verified across PHP 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, and 8.6 beta 2:
- New session start and existing session resumption
- session_regenerate_id() and session_regenerate_id(true)
- Explicit session_create_id() calls
- Zero warnings or deprecations on PHP 8.0-8.5; PHP 8.6 warning cleared
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant