Il s'agit d'un problème possible lorsque le chemin d'enregistrement de php_session n'est pas correctement défini :
Le répertoire de stockage de la session n'existe pas ou php n'a pas les droits suffisants pour y écrire.
Pour définir le répertoire php_session ajoutez simplement la ligne suivante au php.ini :
session.save_path="/tmp/php_session/"
Et donnez les droits d'écriture au serveur http.
généralement, le serveur http s'exécute en tant que démon utilisateur dans le démon de groupe. Si c'est le cas, les commandes suivantes le feront :
chown -R :daemon /tmp/php_session
chmod -R g+wr /tmp/php_session
service httpd restart
La connexion échoue si le dossier de session n'est pas accessible en écriture. Pour vérifier cela, créez un fichier PHP dans votre répertoire web avec :
<?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 le dossier de session n'est pas accessible en écriture, faites-le non plus
sudo setfacl -R -m u:www-data:rwx <session directory>
ou chmod 777 sudo setfacl -R -m u:www-data:rwx <session directory>
-
Je suis en retard pour le jeu, mais sur Amazon linux AMI, je ne pouvais pas me connecter à phpmyadmin ... il n'arrêtait pas de rafraîchir l'écran de connexion sans erreur.
J'ai corrigé avec la commande ci-dessous
sudo chmod -R 755 /var/lib/php/session