bhe non c'è differenza tra localhost e server online, i parametri sono sempre gli stessi, il problema potrebbe essere che il php sia configurato in modo da non permetterti di modificare questi valori.
Il funzionamento della sessione dipende da tutti i parametri che ti ha fornito filippo.
In questo caso, se tu fai "vivere" per un maggior tempo il cookie contenente l'id di sessione, ma poi il maxlifetime ha un tempo di durata minore, quando viene fornito l'id di sessione tramite il cookie il server non lo trova e fa partire una nuova sessione con l'id che hai fornito.
Viceversa se la sessione vive a lungo, ma tu non sei più in grado di fornire l'id perchè il cookie è scaduto ti ritrovi con una nuova sessione con id diverso.
Gli altri 2 parametri che ti ha fornito filippo invece servono al server per decidere ogni quanto cancellare il garbage collector delle sessioni.
Infatti dietro al meccanismo di cancellazione c'è tutto un discorso di probabilità, se tu metti che la scadenza della sessione è di 30 minuti, non è detto che al 30 minuto e un secondo non la trovi più, perchè magari il calcolo probabilistico che c'è dietro non fa scattare al 30 minuto la cancellazione della sessione.
Diciamo che se setti un valore alto nei 2 parametri maxlifetime e session_set_cookie_params sei sicuro che in quel tempo la sessione non scada.
Ciao