{"id":6325,"date":"2024-04-29T18:53:47","date_gmt":"2024-04-29T16:53:47","guid":{"rendered":"https:\/\/www.nicalia.com\/nicapedia\/guias\/cpanel\/modificar-ruta-de-sesiones-php\/"},"modified":"2026-06-08T12:24:20","modified_gmt":"2026-06-08T10:24:20","slug":"modificar-ruta-de-sesiones-php","status":"publish","type":"docs","link":"https:\/\/www.nicalia.com\/nicapedia\/modificar-ruta-de-sesiones-php\/","title":{"rendered":"C\u00f3mo modificar session.save_path en cPanel (PHP)"},"content":{"rendered":"<p>El valor <code>session.save_path<\/code> es una directiva de PHP que determina la ubicaci\u00f3n en el servidor donde se almacenan los archivos de sesi\u00f3n de un sitio web. Cuando un usuario navega por el sitio, PHP crea un archivo de sesi\u00f3n en esa ruta para almacenar informaci\u00f3n como su estado de autenticaci\u00f3n, preferencias y datos temporales.<\/p>\n<p>El problema m\u00e1s habitual con esta directiva ocurre al <strong>cambiar la versi\u00f3n de PHP<\/strong> en cPanel: si la ruta de sesiones configurada en el <code>.htaccess<\/code> no coincide con la ruta que usa la nueva versi\u00f3n, PHP no puede acceder a los archivos de sesi\u00f3n y se produce un error similar a este:<\/p>\n<pre><code>SessionHandler::read(): open(\/var\/cpanel\/php\/sessions\/alt-php72\/sess_8809a1917cb6e397ce7f59e5ccf64e62, O_RDWR)<\/code><\/pre>\n<p>La soluci\u00f3n es actualizar el valor de <code>session.save_path<\/code> para que apunte a la ruta correcta seg\u00fan el handler de PHP que est\u00e9s usando.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: RUTAS CORRECTAS POR HANDLER\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Rutas correctas seg\u00fan el handler de PHP<\/h2>\n<p>La ruta de sesiones correcta depende del handler de PHP activo en tu cuenta. Sustituye <code>XX<\/code> por el n\u00famero de tu versi\u00f3n de PHP (por ejemplo <code>74<\/code> para PHP 7.4, <code>81<\/code> para PHP 8.1):<\/p>\n<table>\n<thead>\n<tr>\n<th>Handler<\/th>\n<th>Ruta correcta de session.save_path<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>MultiPHP<\/strong> (ea-php)<\/td>\n<td><code>\/var\/cpanel\/php\/sessions\/ea-phpXX<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>CloudLinux<\/strong> (alt-php)<\/td>\n<td><code>\/opt\/alt\/phpXX\/var\/lib\/php\/session<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Ejemplos con PHP 7.4:<\/p>\n<ul>\n<li>MultiPHP: <code>\/var\/cpanel\/php\/sessions\/ea-php74<\/code><\/li>\n<li>CloudLinux: <code>\/opt\/alt\/php74\/var\/lib\/php\/session<\/code><\/li>\n<\/ul>\n<p>Si no sabes qu\u00e9 handler usa tu cuenta, consulta la gu\u00eda <a href=\"https:\/\/www.nicalia.com\/nicapedia\/como-modificar-el-php-ini\/\">c\u00f3mo modificar los valores de PHP en cPanel<\/a> \u2014 en la secci\u00f3n \u00abC\u00f3mo saber qu\u00e9 handler de PHP est\u00e1s usando\u00bb explica c\u00f3mo identificarlo desde cPanel.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: M\u00c9TODO MULTIPHP\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Modificar session.save_path con handler MultiPHP<\/h2>\n<p>Si est\u00e1s usando el handler MultiPHP (ea-php), la directiva se a\u00f1ade desde el Editor INI de MultiPHP:<\/p>\n<ol>\n<li>Ve a <strong>cPanel \u2192 Software \u2192 Editor INI MultiPHP<\/strong>.<\/li>\n<li>Selecciona el dominio afectado.<\/li>\n<li>Cambia a <strong>Modo Editor<\/strong>.<\/li>\n<li>A\u00f1ade la siguiente l\u00ednea, sustituyendo <code>XX<\/code> por tu versi\u00f3n de PHP (por ejemplo <code>74<\/code> para PHP 7.4):<\/li>\n<\/ol>\n<pre><code>php_value session.save_path \"\/var\/cpanel\/php\/sessions\/ea-phpXX\"<\/code><\/pre>\n<p>Por ejemplo, para PHP 8.1:<\/p>\n<pre><code>php_value session.save_path \"\/var\/cpanel\/php\/sessions\/ea-php81\"<\/code><\/pre>\n<ol start=\"5\">\n<li>Haz clic en <strong>Guardar<\/strong>.<\/li>\n<\/ol>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: M\u00c9TODO CLOUDLINUX\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Modificar session.save_path con handler CloudLinux<\/h2>\n<p>Si est\u00e1s usando el handler CloudLinux (alt-php), la directiva se configura desde el Selector PHP:<\/p>\n<ol>\n<li>Ve a <strong>cPanel \u2192 Software \u2192 Seleccionar versi\u00f3n de PHP<\/strong>.<\/li>\n<li>Haz clic en la pesta\u00f1a <strong>Opciones<\/strong>.<\/li>\n<li>Localiza el par\u00e1metro <strong>session.save_path<\/strong>.<\/li>\n<li>Introduce la ruta correcta para tu versi\u00f3n de PHP, sustituyendo <code>XX<\/code> por el n\u00famero de versi\u00f3n:<\/li>\n<\/ol>\n<pre><code>\/opt\/alt\/phpXX\/var\/lib\/php\/session<\/code><\/pre>\n<p>Por ejemplo, para PHP 8.1:<\/p>\n<pre><code>\/opt\/alt\/php81\/var\/lib\/php\/session<\/code><\/pre>\n<ol start=\"5\">\n<li>Guarda los cambios.<\/li>\n<\/ol>\n<p>\u2139\ufe0f Tambi\u00e9n puedes configurar esta directiva directamente en el archivo <code>.htaccess<\/code> de tu dominio con la siguiente l\u00ednea:<\/p>\n<pre><code>php_value session.save_path \"\/opt\/alt\/phpXX\/var\/lib\/php\/session\"<\/code><\/pre>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: ERRORES COMUNES\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Errores frecuentes con session.save_path<\/h2>\n<h3>El error persiste despu\u00e9s de actualizar la ruta<\/h3>\n<p>Verifica que el n\u00famero de versi\u00f3n en la ruta coincide exactamente con la versi\u00f3n de PHP activa en tu cuenta. Si tienes PHP 8.2 activo, la ruta debe contener <code>ea-php82<\/code> o <code>alt-php82<\/code>, no <code>74<\/code> o cualquier otra versi\u00f3n anterior. Comprueba la versi\u00f3n activa desde <em>cPanel \u2192 Software \u2192 Seleccionar versi\u00f3n de PHP<\/em>.<\/p>\n<h3>No encuentro el par\u00e1metro session.save_path en CloudLinux<\/h3>\n<p>Si tienes seleccionada la versi\u00f3n <em>native<\/em> en el Selector PHP de CloudLinux, no podr\u00e1s modificar los par\u00e1metros \u2014 debes seleccionar primero una versi\u00f3n espec\u00edfica (alt-php74, alt-php81, etc.). Una vez seleccionada una versi\u00f3n espec\u00edfica, aparecer\u00e1n todos los par\u00e1metros editables en la pesta\u00f1a Opciones.<\/p>\n<h3>El directorio de sesiones no existe o no tiene permisos<\/h3>\n<p>Si configuras una ruta personalizada (diferente a las rutas est\u00e1ndar del sistema), ese directorio debe existir y tener los permisos correctos para que PHP pueda escribir en \u00e9l. Los permisos recomendados son 700 (solo el propietario puede leer y escribir). Si usas las rutas est\u00e1ndar indicadas en esta gu\u00eda, los permisos ya est\u00e1n configurados correctamente por el sistema.<\/p>\n<h3>El error aparece solo despu\u00e9s de cambiar la versi\u00f3n de PHP<\/h3>\n<p>Es el escenario m\u00e1s habitual. Al cambiar de PHP 7.x a PHP 8.x (o viceversa), la ruta de sesiones cambia pero el valor en el <code>.htaccess<\/code> sigue apuntando a la ruta de la versi\u00f3n anterior. Actualiza el n\u00famero de versi\u00f3n en la directiva <code>session.save_path<\/code> cada vez que cambies la versi\u00f3n de PHP.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: FAQ\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Preguntas frecuentes sobre session.save_path<\/h2>\n<h3>\u00bfQu\u00e9 es session.save_path en PHP?<\/h3>\n<p>Es la directiva PHP que define en qu\u00e9 directorio del servidor se guardan los archivos de sesi\u00f3n. Cada sesi\u00f3n de usuario activa genera un archivo en esa ruta. Por defecto PHP usa una ruta del sistema, pero en entornos de hosting compartido con m\u00faltiples versiones de PHP, la ruta correcta var\u00eda seg\u00fan la versi\u00f3n activa.<\/p>\n<h3>\u00bfPor qu\u00e9 aparece el error SessionHandler::read() al cambiar la versi\u00f3n de PHP?<\/h3>\n<p>Porque cada versi\u00f3n de PHP en cPanel (ea-php, alt-php) tiene su propio directorio de sesiones. Al cambiar la versi\u00f3n activa, la ruta configurada en <code>session.save_path<\/code> deja de ser v\u00e1lida para la nueva versi\u00f3n. La soluci\u00f3n es actualizar la ruta para que coincida con la de la nueva versi\u00f3n.<\/p>\n<h3>\u00bfDebo actualizar session.save_path cada vez que cambio la versi\u00f3n de PHP?<\/h3>\n<p>S\u00ed, si tienes configurado un valor personalizado de <code>session.save_path<\/code>. Si no tienes esta directiva configurada expl\u00edcitamente, PHP usar\u00e1 la ruta por defecto del sistema, que puede no ser la correcta para tu versi\u00f3n. En la pr\u00e1ctica, lo m\u00e1s habitual es a\u00f1adir o actualizar la directiva justo despu\u00e9s de cambiar la versi\u00f3n de PHP.<\/p>\n<h3>\u00bfPuedo usar una ruta personalizada diferente para session.save_path?<\/h3>\n<p>S\u00ed. Puedes especificar cualquier directorio que sea accesible para PHP, por ejemplo <code>\/home\/usuario\/tmp\/sessions<\/code>. El directorio debe existir y tener permisos 700. Para crear el directorio puedes usar el Administrador de Archivos de cPanel o SSH con <code>mkdir -m 700 \/home\/usuario\/tmp\/sessions<\/code>.<\/p>\n<h3>\u00bfC\u00f3mo saber qu\u00e9 versi\u00f3n de PHP est\u00e1 activa en mi cuenta?<\/h3>\n<p>Desde cPanel ve a <strong>Software \u2192 Seleccionar versi\u00f3n de PHP<\/strong> \u2014 ah\u00ed se muestra la versi\u00f3n activa y el handler. Tambi\u00e9n puedes crear un archivo <code>info.php<\/code> con <code>&lt;?php phpinfo(); ?&gt;<\/code> en la ra\u00edz de tu dominio y buscar el valor de <code>session.save_path<\/code> en la salida para ver cu\u00e1l usa tu configuraci\u00f3n actual.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El valor session.save_path es una directiva de PHP que determina la ubicaci\u00f3n en el servidor donde se almacenan los archivos de sesi\u00f3n de un sitio web. Cuando un usuario navega por el sitio, PHP crea un archivo de sesi\u00f3n en esa ruta para almacenar informaci\u00f3n como su estado de autenticaci\u00f3n, preferencias y datos temporales. El [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":8656,"menu_order":57,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-6325","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/4471485c4e49f46218d6b6d125f80f4cde1f86f045fd896202eefddaf4d4510a?s=96&d=mm&r=g","author_name":"Francisco Garvi","_links":{"self":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/6325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/comments?post=6325"}],"version-history":[{"count":6,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/6325\/revisions"}],"predecessor-version":[{"id":10074,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/6325\/revisions\/10074"}],"up":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/8656"}],"wp:attachment":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/media?parent=6325"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_tag?post=6325"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_badge?post=6325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}