Why is session.cookie_lifetime set to 23 days?
ini_set('session.gc_maxlifetime', 200000);



This value is for the server. 
It is a settings for Session Garbage Collection.
If the users last visit happened before 200000s then this session is eligible for garbage collection.
Since it is GC, the session value may be discarded and not compulsory. If a GC action happens after the session was made eligible for the GC, it will be deleted.



ini_set('session.cookie_lifetime', 2000000);




This value is for the browser.
This is the absolute maximum time till which a browser can keep this cookie active.
A 0 value here means immediate or when the browser is closed.


To answer your question in particular. 


If the user doesn't hit the server back in 2.3 days, his session will be deleted when the session garbage collection runs.
If he keeps on hitting one page on the server every 2.2 (less than 2.3 days) then his session will stay active. But it can be active only until 23 days from the time the session was first generated. 
So what that means is session.cookie_lifetime is the absolute maximum lifetime of a session.