diff --git a/reference/session/examples.xml b/reference/session/examples.xml
index 1b05ad0889..9ad7ee1e61 100644
--- a/reference/session/examples.xml
+++ b/reference/session/examples.xml
@@ -243,6 +243,40 @@ here.
will need to use session_set_save_handler to
create a set of user-level storage functions.
+
+ The callbacks specified in session_set_save_handler are methods
+ called by PHP during the life-cycle of a session: open, read, write and close and for
+ the houskeping tasks of deleting stored sessions and periodic garbage collection.
+
+
+ Therefor, PHP always requires session save handlers. The default is usually the
+ internal 'files' save handler, but can be overriden using
+ session_set_save_handler if you need anything other than PHP's
+ internal handlers. Alternative internal save handlers can also be provided by PHP extensions,
+ such as sqlite, memcache and memcached.
+
+
+ When the session starts, PHP will call the open() handler followed by the read() handler
+ which should return an encoded string extactly as it was originally passed for storage.
+ Once the read() handler returns the encoded string, PHP will decode it and then populate
+ the resulting array into the $_SESSION superglobal.
+
+
+ When PHP shuts down (or when session_write_close is called),
+ PHP will encode the $_SESSION superglobal into a specially serialized string and pass this
+ along with the session ID to the the write() callback.
+ After write() PHP will invoke the close() handler.
+
+
+ When a session is specifically destroyed, PHP will call the
+ destroy() handler with the session ID.
+
+
+ PHP will call gc() from time to time to expire any session
+ records according to the set max lifetime of a session. This routine
+ should delete all records from persistent storage which were last
+ accessed longer than the $lifetime.
+