Visualizzazione dei risultati da 1 a 9 su 9

Discussione: maxlifetime e un loop

  1. #1

    maxlifetime e un loop

    Ciao a tutti, il manuale di php non mi ha chiarito le idee :master: quindi provo qui.
    Immaginate di trovarvi all'ultimo minuto prima della scadenza della sessione e date il via ad un loop che dura all'incirca cinque (il quale supera di quattro il periodo di scadenza); la partenza di questo loop permette al lifetime di resettarsi e ripartire da zero?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Il tempo di sessione che io sappia viene resettato ogni volta che lanci il session_start, quindi credo che se nella pagina del loop hai un session_start prima che venga iniziato il loop dovresti stare tranquillo.

    ciao

  3. #3
    Giusto Gianaz, grazie della risposta e grazie per avermi fatto capire che il mio esempio era sbagliato

    Ripropongo: fingi di avere un loop che dura più del tempo di sessione. Un loop di mezz'ora quando la tua sessione dura 24 minuti. In quella mezz'ora è ovvio che non ci sono in mezzo session_start(), quindi al 24esimo dovrebbe morire tutto. Anche il loop che è attivo?

    Scusa(te) se mi sono espresso male nel primo post

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    In questo caso allora puoi risolvere facendo una chiamata ajax ad esempio ogni 23 minuti, che chiami un file php dello stesso dominio con all'interno semplicemente:

    codice:
    <?php 
    session_start();
    ?>
    La cosa la puoi fare mettendo ad esempio nell'evento load della pagina una chiamata periodica alla funzione javascript che eseguirà la chiamata ajax con setInterval.

    ciao

    edit:

    Comunque se all'interno del loop non hai un controllo sulla sessione, il loop dovrebbe continuare.

  5. #5
    Ottimo, bella dritta quella dell'ajax.
    Ti ringrazio di nuovo.

    Edit: dici che equivale a metterlo nel loop il session_start()?

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Fai delle domande assurde...
    Comunque:

    fingi di avere un loop che dura più del tempo di sessione. Un loop di mezz'ora quando la tua sessione dura 24 minuti. In quella mezz'ora è ovvio che non ci sono in mezzo session_start(), quindi al 24esimo dovrebbe morire tutto.
    La sessione, non "tutto". E comunque non è matematico, eh. Quando è scaduto il tempo, la sessione diventa potenzialmente "spazzatura", e PUO' essere cancellata. Ma non è detto che succeda

    Anche il loop che è attivo?
    Ovviamente no. Sempre ammesso che dopo 24 minuti di loop il server non sia già saltato per aria

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da Tobler
    bella dritta quella dell'ajax.
    Sì, proprio una genialata.
    Lo script è in loop, e il browser ha già caricato la pagina. Come no

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da luca200
    Sì, proprio una genialata.
    Lo script è in loop, e il browser ha già caricato la pagina. Come no
    Ma infatti poi ho specificato che se all'interno del loop non c'è un controllo sulla sessione non serve a nulla.

    Io ho usato questa tecnica nel caso di upload di centinaia di mega, che facevano scadere la sessione, certo se puoi settare il valore sul server tanto meglio, ma cosi ha funzionato.


  9. #9
    @ luca: capisco i tuoi dubbi, perchè sto cercando di usare php in una modalità non proprio "standard", e per standard intendo uno script che genera una pagina html in qualche frazione di secondo senza nessuno sleep o reset del timeout.
    Anche il caso proposto da gianaz è fuori da questo scenario (secondo la mia concezione appena espressa) perchè uploadare centinaia di mega per forza implica script la cui esecuzione supera il tempo di sessione di 24 mins.
    Voglio capire quali sono i limiti di php su questo fronte

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.