J'obtiens l'erreur ci-dessous lorsque vous pointez le navigateur sur phpMyAdmin
Impossible de démarrer la session sans erreur, veuillez vérifier les erreurs indiquées dans votre fichier journal PHP et/ou serveur Web et configurez votre installation PHP correctement.
J'ai tout vérifié et je n'arrive pas à comprendre le problème.
Dans mon fichier php.ini j'ai:
session.save_path = "/var/lib/php/session"
Permissions:
drwxr-xr-x 2 root Apache 4096 Feb 16 04:47 session
Rien ne semble fonctionner. Même changer l'autorisation sur le répertoire de session à 777.
Le problème réside généralement dans la fin de votre navigateur.
Vous devez vider le cache de votre navigateur, supprimer les cookies pour le serveur/hôte, puis réessayer de charger phpMyAdmin.
Si vous voulez tout faire, effacez également le dossier de session sur le serveur.
Une des raisons possibles est une incompatibilité de données session entre le navigateur et le serveur Web, l'empêchant ainsi d'extraire les informations de session requises et de vider cette boîte de dialogue d'erreur sur vos genoux.
Le problème peut être dû aux autorisations de fichiers et de dossiers; Vous pouvez essayer de modifier les autorisations de dossier:
Sudo chmod 777 /var/lib/php/session/
Cela définira des autorisations de lecture/écriture complètes sur le dossier de sessions PHP.
Remarque: le dossier php/session/
peut se trouver à un emplacement différent sur certains serveurs. Vérifiez votre php.ini
pour votre chemin de session.
Dans mon cas, c'était le mauvais propriétaire pour /var/lib/php/session
. J'ai changé cela en utilisateur et groupe Apache (l'utilisateur et le groupe sous lequel le serveur Web est exécuté) et tout allait bien.
Définissez le session.save_path
dans votre php.ini
. Assurez-vous que vous utilisez un répertoire existant.
Si vous rencontrez toujours un problème, accordez l’autorisation d’écriture et d’exécution à ce dossier pour l’utilisateur qui utilisera ce dossier.
Il semble y avoir deux causes communes à cette erreur: l’une concerne la configuration du serveur et le session.save_path et l’autre est le cache du navigateur.
Si vous rencontrez cette erreur, essayez d'utiliser un autre navigateur ou une autre machine avant de modifier vos configurations Apache et PHP sur le serveur!
Notez que supprimer les cookies du serveur ne suffit pas, vous devez vider le cache.
Dans Firefox, effacer tout l'historique et les cookies est facile, mais vous ne voudrez peut-être pas vous débarrasser de Effacer le cache est caché dans Firefox:
Outils> Options> Avancé> Réseau: Contenu Web mis en cache - Effacer maintenant
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,
Sudo setfacl -R -m u:www-data:rwx <session directory>
ou chmod 777 <session directory>
-
D'accord,
J'utilise Windows 7 ultimate et le serveur WAMP 2.4 Le dossier tmp était manquant, alors j'en ai créé un et cela a résolu mon problème . Recherchez le chemin correct dans le fichier php.ini: session.save_path
ARRÊTEZ LES PERMIS D'OUVERTURE! Si vous utilisez nginx (comme moi), changez simplement la propriété des dossiers sous /var/lib/php/
de Apache
à nginx
:
[root@centos ~]# cd /var/lib/php/
[root@centos php]# ll
total 12
drwxrwx---. 2 root Apache 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root Apache 4096 Feb 5 20:56 session
drwxrwx---. 2 root Apache 4096 Jan 30 16:23 wsdlcache
[root@centos php]# chown -R :nginx opcache/
[root@centos php]# chown -R :nginx session/
[root@centos php]# chown -R :nginx wsdlcache/
[root@centos php]# ll
total 12
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root nginx 4096 Feb 5 20:56 session
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 wsdlcache
Et aussi pour les dossiers sous /var/lib/phpMyAdmin/
:
[root@centos php]# cd /var/lib/phpMyAdmin
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 Apache apache 4096 Dec 23 20:29 config
drwxr-x---. 2 Apache apache 4096 Dec 23 20:29 save
drwxr-x---. 2 Apache apache 4096 Dec 23 20:29 upload
[root@centos phpMyAdmin]# chown -R nginx:nginx config/
[root@centos phpMyAdmin]# chown -R nginx:nginx save/
[root@centos phpMyAdmin]# chown -R nginx:nginx upload/
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 config
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 save
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 upload
Pour Xampp, la suppression des fichiers temporaires du dossier "racine" fonctionne pour moi.
TH
Sachant que ce fil est marqué comme résolu, il apparaît tôt dans Google Search pour le terme donné. J'ai donc pensé qu'il pourrait être utile de mentionner une autre raison pouvant conduire à cette erreur.
Si vous avez activé les "cookies sûrs/sécurisés", cela doit être désactivé pour phpMyAdmin car cela ne fonctionnera pas avec leur activation. Alors assurez-vous que vous n'avez rien comme:
Header set Set-Cookie HttpOnly;Secure
dans votre config.
J'ai travaillé sur ce même problème pendant une journée complète. La solution pour moi était simplement de vider le cache de mon navigateur. Dommage, j'avais déjà réinstallé le serveur Web/phpmyadmin 3 fois. :(
Le problème rencontré dans Windows Server 2016 était que les autorisations étaient incorrectes sur le répertoire temporaire utilisé par PHP. J'ai ajouté IUSR.
Le problème peut également être que vous avez une mauvaise valeur session.save_handler
dans votre php.ini
. J'ai eu cette erreur quand je l'ai changée en memcached
, et j'ai travaillé à nouveau pour revenir à files
Premièrement: si pas session
dir (dans mon cas, c'était)
Sudo mkdir /var/lib/php/session
Deuxièmement: définir le privilège pour session
dir
Sudo chmod 777 /var/lib/php/session
J'ai effacé le cache du navigateur. Le dossier de session créé est répertorié dans le répertoire phpinfo.php.
Ça a marché !