По поводу отмеченных решений очень хочу уточнить, чтобы потом не было сюрпризов:
php.net/manual/en/function.session-set-save-handler.phpThis callback is executed when a session is destroyed with session_destroy() or with session_regenerate_id() with the destroy parameter set to TRUE.
Если сессия удаляется сборщиком мусора, ничего вызвано не будет.
Более того, в тех же Debian и Ubuntu штатный сборщик старых сессий вовсе выключен и используется sh скрипт, запускаемый кроном и банальным find'ом удаляющий файлики сессий. Никакой PHP не вызывается при этом.
Это точно требуемое поведение? Выполнять какое-то действие только на удаление сессии вручную?