php-memcached-dev / php-memcached

memcached extension based on libmemcached library
Other
988 stars 323 forks source link

session_create_id() fails when an active session exists #480

Open ellotheth opened 3 years ago

ellotheth commented 3 years ago

PHP 7.4.15 Memcached 3.1.5 libmemcached 1.0.18 Test script and config details: https://gemma.wonderproxy.com/session.php

I'm using Memcached to back my login sessions (session.save_handler=memcached). I don't have session locking enabled (memcached.sess_locking=Off). session_create_id() works when there is no active session, and fails with a warning when there is an active session:

Warning:  session_create_id(): Failed to create new ID

If I swap to session.save_handler=files, session_create_id() works as expected in both cases. Session operations outside of session_create_id() work as expected (it's currently powering logins with no warnings or other errors).

I'm not sure if the problem is on my side or the Memcached side, so any insight would be much appreciated. If you need more information, let me know.

heldchen commented 3 years ago

experiencing the same on 8.0 - were you able to work around this?

ellotheth commented 3 years ago

were you able to work around this?

Nope. In our case there's a "graceful" fallback, so I set up our log monitors to ignore this warning. :woman_shrugging:

heldchen commented 3 years ago

oh well. thanks! my workaround is to keep using redis as the session storage, which works fine with session_create_id() for already active sessions.