Este es un posible problema cuando la ruta para guardar php_session no está configurada correctamente:
El directorio para almacenar la sesión no existe o php no tiene suficientes derechos para escribir en él.
Para definir el directorio php_session, simplemente agregue la siguiente línea a php.ini:
session.save_path="/tmp/php_session/"
Y otorgue derechos de escritura al servidor http.
por lo general, el servidor http se ejecuta como demonio de usuario en el demonio de grupo. Si es el caso, los siguientes comandos lo harán:
chown -R :daemon /tmp/php_session
chmod -R g+wr /tmp/php_session
service httpd restart
El inicio de sesión falla si la carpeta de la sesión no se puede escribir. Para verificar eso, cree un archivo PHP en su directorio web con:
<?php
$sessionPath = 'undefined';
if (!($sessionPath = ini_get('session.save_path'))) {
$sessionPath = isset($_ENV['TMP']) ? $_ENV['TMP'] : sys_get_temp_dir();
}
if (!is_writeable($sessionPath)) {
echo 'Session directory "'. $sessionPath . '"" is not writeable';
} else {
echo 'Session directory: "' . $sessionPath . '" is writeable';
}
Si la carpeta de la sesión no se puede escribir, haga cualquiera
sudo setfacl -R -m u:www-data:rwx <session directory>
o chmod 777 sudo setfacl -R -m u:www-data:rwx <session directory>
-
Llegué tarde al juego, pero en la AMI de Linux de Amazon no pude iniciar sesión en phpmyadmin... simplemente actualizó la pantalla de inicio de sesión sin errores.
Lo he arreglado con el siguiente comando
sudo chmod -R 755 /var/lib/php/session