Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    [Sessioni e php.ini] session.save_path = no value : chiarimenti.

    Buongiorno a tutti,

    sto facendo dei vari test per ciò che riguarda le sessioni. Nelle info php (phpinfo().) del mio server locale appare questo:

    session.save_path = no value

    Significa che le sessioni non hanno una directory su cui essere temporaneamente salvate?

    Se si, devo modificare il php.ini?

    Se devo modificare il php.ini, devo togliere il punto e virgola ( davanti alla dicitura "session.save_path" e aggiungere il percorso?

    Grazie mille in anticipo.

  2. #2
    Significa che le sessioni saranno salvate nella cartella tmp o temp del sistema.

    Se vuoi una cartella particolare devi immettere path/nome_file nel session.save_path
    il ; e' il segno di rem e quindi va tolto. Il file deve esistere perche' da se non lo crea ed ovviamente dopo le modifiche necessita il restart del server HTTP (apache o quelchele')

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Grazie piero.

    Adesso ho creato una cartella "tmp" nella directory del mio disco.

    Ad esempio: C:\tmp

    Il phpinfo mi dice che le sessioni verranno salvate li (quindi presumo vada tutto bene).

    So che quando si inizia una sessione aprendo una pagina php viene creato un file temporaneo.
    Solo che quando apro una pagina php (in locale s'intende) con session_start() e subito dopo apro poi la cartella "tmp", non ci trovo alcun file all'interno.

    Significa che ho sbagliato qualcosa per caso?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Aspetta, ho riletto il tuo messaggio...


    "path/nome-del-file"

    Quindi oltre alla cartella devo immettere un file anche?

    Se faccio ad esempio "session.save_path - /tmp/file-con-sessioni.txt" , i dati delle sessioni inizializzate verranno memorizzati direttamente nel file, dico bene?

    Grazie ancora.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Faccio una piccola up.

    Ho creato una cartella e un file di testo, ad esempio:

    /tmp/file-sessione.txt

    E l'ho inserito dopo l'uguale ( = ) di session.save_path.

    Solo che quando apro la pagina php con session_start mi genera un WARNING:

    Warning: session_start() [function.session-start]: open(C:\tmp\file-sessioni.txt\sess_snj0jth84pf6mnbpjr2r4b2t12, O_RDWR) failed: No such file or directory (2) in C:\www\prova\_ts4tmp.php on line 2


    Cosa sbaglio?

  6. #6
    ti rispondo per quel che sò...

    L'errore che hai compiuto è che hai indicato un file anzichè una cartella.

    session save path indica la CARTELLA in cui i file di sessione saranno salvati.
    1) Non serve creare i file "manualmente":
    si creano in automatico se, dopo session_start(), non viene trovato il file corrispondente al SID;
    il nome che assomono tali file (verifica empirica sul mio pc) è sess_SID
    2) non cancellarli "manualmente":
    php ha un garbage automatico alla scadenza (session.cache_expire).

    session save path deve essere indicato senza lo slash finale e con gli slash \ o / (a seconda che ti trovi su linux o windows... su windows \).

    Io uso xampp su windows e i file di sessione sono salvati nella cartella c:\xampp\tmp

    Per conoscere/impostarla al volo (durante l'esecuzione di un file) puoi utilizzare la funzione session_save_path().

    Su molti hosting condivisi tale parametro non è possibile modificarlo.
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Grazie mille.

    Ok..tutto fatto. In questo momento ho aperto una pagina php in locale con session_start() all'inizio...ma non vedo nessun file creato all'interno della cartella relativa a session.save_path.


  8. #8
    hai riavviato il server?
    prova a creare una variabile di sesione e verificarne l'esistenza in una pagina distinta:
    crrea.php
    Codice PHP:
    session_start();
    $_SESSION['test'] = 'test'
    leggi.php
    Codice PHP:
    session_start();
    echo 
    'SESSION PATH '.session_save_path();
    echo 
    '
    SID: '
    session_id();
    echo 
    '<pre>';
    print_r($_SESSION); 
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Riavviato. Creato. Niente. Nessun file viene creato nella cartella di destinazione..anche se faccio visualizzare i file nascosti (...).


  10. #10
    e il file leggi.php cosa ti stampa a video?
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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.