php - sesiones - ¿Dónde se almacenan las variables $_SESSION?
variables de session php ejemplo (9)
¿ $_SESSION
variables $_SESSION
almacenadas en el cliente o el servidor?
¿Como funciona? ¿Cómo sabe que soy yo?
La mayoría de las sesiones establecen una clave de usuario (llamada sessionid) en la computadora del usuario que se ve así: 765487cf34ert8dede5a562e4f3a7e12. Luego, cuando se abre una sesión en otra página, escanea la computadora en busca de una clave de usuario y se ejecuta en el servidor para obtener sus variables.
Si borra por error la memoria caché, también se borrará su clave de usuario. Ya no podrá obtener sus variables del servidor ya que no conoce su id.
Como el Sr. Taylor señaló, esto generalmente se establece en php.ini. Por lo general, se almacenan como archivos en un directorio específico.
Como se mencionó anteriormente, los contenidos se almacenan en el servidor. Sin embargo, la sesión se identifica mediante una identificación de sesión, que se almacena en el cliente y se envía con cada solicitud. Por lo general, el ID de sesión se almacena en una cookie, pero también se puede agregar a las URL. (Ese es el PHPSESSID
consulta PHPSESSID
que algunas veces ve)
En Debian (¿no es este el caso de la mayoría de las distribuciones de Linux?), Se guarda en / var / lib / php5 /. Como se mencionó anteriormente, está configurado en su php.ini.
Estoy usando Ubuntu y mis sesiones están almacenadas en / var / lib / php5.
Generalmente se almacenan en el servidor. Dónde están almacenados depende de usted como desarrollador. Puede usar la variable de configuración session.save_handler
y session_set_save_handler
para controlar cómo se guardan las sesiones en el servidor. El método de guardar predeterminado es guardar sesiones en archivos. Donde se guardan es controlado por la variable session.save_path
.
La ubicación del almacenamiento variable $_SESSION
está determinada por la configuración $_SESSION
de PHP. Por lo general, esto es /tmp
en un sistema Linux / Unix. Use la función phpinfo()
para ver su configuración particular si no está 100% seguro al crear un archivo con este contenido en el DocumentRoot
de su dominio:
<?php
phpinfo();
?>
Aquí está el enlace a la documentación de PHP en esta configuración:
http://php.net/manual/en/session.configuration.php#ini.session.save-path
Para ubuntu 16.10 son sesiones guardar en / var / lib / php / session / ...
Una adición: debe tenerse en cuenta que, en caso de que "/ tmp" sea el directorio donde se almacenan los datos de la sesión (que parece ser el valor predeterminado), las sesiones no persistirán después del reinicio de ese servidor web, como "/ tmp "a menudo se purga durante el reinicio. El concepto de una persistencia basada en el cliente se mantiene y cae con la persistencia del almacenamiento en el servidor, que podría fallar si el directorio "/ tmp" se utiliza para los datos de la sesión.