Cómo desactivar las sesiones automáticas de PHP en XAMPP

La configuración predeterminada de XAMPP inicia sesiones PHP automáticamente, lo que puede afectar el rendimiento. Aquí te explicamos cómo desactivar esta función editando el archivo php.ini para tener un control manual y eficiente de las sesiones.

¿Por qué desactivar las sesiones automáticas?

En entornos de desarrollo como XAMPP, las sesiones automáticas de PHP pueden consumir recursos innecesariamente. Al desactivarlas, optimizas el rendimiento y adoptas una buena práctica de programación: iniciar sesiones solo cuando sean necesarias mediante la función session_start() en tus scripts.

Otra razón es que ejecutar aplicaciones web que ejecutan en inicio de la sesión PHP se puede crear un conflicto o error al ya estar iniciada la sesión, en en caso particular, me sucedio con Joomla.

Paso a paso para la desactivación

El control de este comportamiento se encuentra en el archivo de configuración principal de PHP, el php.ini. Sigue estos pasos:

  1. Localiza el archivo php.ini:
    Abre el panel de control de XAMPP y haz clic en el botón "Config" junto al módulo Apache. En el menú desplegable, selecciona "PHP (php.ini)". Esto abrirá el archivo en tu editor de texto predeterminado .

    (También puedes navegar manualmente a la carpeta de instalación de XAMPP, por ejemplo, C:xamppphp, y abrir el archivo php.ini).

  2. Busca la directiva session.auto_start:
    Una vez abierto el archivo, presiona Ctrl + B para abrir el buscador y escribe session.auto_start. Deberías encontrar una línea similar a esta:

    ini:

    ; Initialize session on request startup.
    ; http://php.net/session.auto-start
    session.auto_start = 0

    (Nota: El valor predeterminado en XAMPP suele ser 0, lo que significa que las sesiones automáticas ya están desactivadas por defecto) .

  3. Modifica el valor (si es necesario):

    • Si el valor es 0, las sesiones automáticas ya están desactivadas. No necesitas hacer nada, pero es bueno saberlo para verificarlo.

    • Si, por cualquier motivo, encuentras que el valor es 1 (activado), cámbialo a 0.

    ini:

    session.auto_start = 0
  4. Guarda los cambios y reinicia Apache:
    Guarda el archivo php.ini y cierra el editor. Para que los cambios surtan efecto, es fundamental reiniciar el servidor Apache desde el panel de control de XAMPP. Detén el módulo Apache y vuelve a iniciarlo.

Verificación

Para asegurarte de que el cambio se ha aplicado correctamente, puedes crear un archivo PHP con el siguiente contenido y acceder a él desde tu navegador:

php:

<?php
phpinfo();
?>

Busca la sección de "session" y localiza el valor de "session.auto_start". Debe mostrar "Off" o "0". Ahora, en tus proyectos, deberás iniciar la sesión manualmente al principio de cada página que la requiera con la función session_start().

Conclusión

Desactivar las sesiones automáticas en XAMPP es un proceso sencillo que mejora el control y la eficiencia de tus aplicaciones PHP. Recuerda siempre reiniciar Apache después de cualquier cambio en el php.ini para que la configuración se actualice correctamente.