Sessioni Code Igniter su Debian

Code Igniter è uno dei tanti framework PHP disponibili e prima dell’avvento di laravel era abbastanza utilizzato.

Vengo al dunque, Code Igniter ha diversi moduli per la gestione delle sessioni e se si usa il driver “files”, ovvero l’uso dei classici files in /var/lib/session attiva un fastidioso problema su Debian. Si, perché su Debian la cancellazione dei files di sessione non è demandata a PHP, ma viene fatta con un apposito script in /usr/lib/php/sessionclean che viene invocato da /etc/cron.d/php

Lo script sessionclean provvede a cancellare tutti i files nella directory con i files di sessione e che si chiamando sess_*.

Il problema a cui accennavo risiede nel fatto che code igniter, di default, chiama i file di sessione con il nome ci_session_* e questo fa si che i files di sessione non vengano mai cancellati dallo script sessionclean.

Per ovviare, si possono seguire due strade:

  • modificare il file php.ini per aumentare session.gc_probability (es a 200), oppure
  • modificare il file sessionclean ed includere anche i files che si chiamano ci_sess_* tra quelli da cancellare, sostituendo, verso la fine del file:

con

enjoy!

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Taggato su: , ,

Commenta