Ich glaube, da muss ich widersprechen. :roll:
Mit session_cache_expire() beeinflusst man nicht die maximale Ruhezeit einer Session sondern die Gültigkeit der erzeugten Seiten für Http-Caches. Wie bei der von Dir genannten Seite beschrieben ist macht das aber mit der Standardeinstellung von session_cache_limiter (no_cache) wenig Sinn, da die Seiten damit nicht zwischengespeichert werden. Siehe auch
http://www.php.net/manual/de/function.session-cache-limiter.php.
Die Lebensdauer einer Session ist standardmässig 1440 Sek und kann wie schon beschrieben nur mit "session.gc_maxlifetime" geändert werden. Ich kann mir auch nicht vorstellen, dass man diesen Wert per Funktionsaufruf ändern kann, da der Session-GC schon vor der Abarbeitung des eigenen Skriptes läuft.
Sollte ich mich irren, dann korrigiert mich bitte.
Der beschriebene Vorschlag, die Session manuell zu löschen ist ok, dann aber doch lieber gleich einen eigenen Sessionhandler schreiben. Wie das geht steht unter
http://www.php.net/manual/de/function.session-set-save-handler.php. Dann hast Du volle Kontrolle über jede Session.
Wenn Dir der vorgegebene Timeout zu lange ist, dann bau doch einfach einen LogOut-Button in Deine Seiten ein. Sobald da jemand drauf klickt, kannst Du die Session zerstören.