Hi!

>> Document calling session_gc() periodically is the best practice.
> 
> If you want to document usage of this new API as the best practice, it
> would be unfair to the users if you don't also document the caveats that
> come with it:

I also think it's wrong to document it so. While having periodical GC is
the best practice, probabilistic GC *is* calling GC periodically. True,
for some exceptional scenarios - like sites with very low traffic - the
period is unpredictable. And *then* it's recommended to explicitly call
session_gc(), and for these cases it is a great addition. But in a
typical medium or high traffic site the period is very predictable as as
such there's no way to document otherwise.

> probability-based behavior (and how to do that; based on my
> observations, the vast majority of users don't know how GC is triggered
> at all)

And that's great BTW since majority of users don't need to know that -
it just works. We shouldn't ruin that.

> - Trigger warnings when session_gc() is called while gc_probability is
> not 0.

This does not sound like a good idea to me. Why we should make it harder
for people to use it together? session_gc() has nothing to do with
gc_probability.

> - To avoid re-activating expired sessions, trigger warnings when
> session_gc() is called after session_start()

Last time I've looked at the patch, session_gc() was required to be
called after session start. See:

https://github.com/php/php-src/pull/1852/files#diff-2e4264d70a35458a2241e27f76f4a93cR20

I think this is wrong (see my comments there) and in fact we should not
expose this complexity to the user - gc() should just do the GC and hide
the technical details.
-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to