Petit souci de session

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Petit souci de session

    Bonjour, j'ai un message d'erreur en front office ET en back office. Impossible d'accéder à l'admin joomla.

    Error: Failed to start application: Could not connect to MySQL server. Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in /var/www/vhosts/FilerWeb07/sarl-mahot.fr/httpdocs/libraries/joomla/session/handler/native.php on line 194

    C'est sur ce site : http://www.sarl-mahot.com/
    Joomla 3.8.7
    php 7.0.18
    hébergeur mutualisé chez Hosteur.com

    Dans le fichier native.php, à la ligne 194 j'ai : session_write_close();
    Dans le fichier configuration.php il n'y a pas deligne avec session.save_path
    J'ai vidé le dossier logs mais cela n'a rien changé.
    J'ai accès au FTP via Filezilla

    Auriez-vous une piste ?
    Merci
    Peggy
    Dernière édition par Peggy à 16/05/2018, 16h09
    Je suis blonde mais pas du bulbe !

  • #2
    C'est ta table "sessions" dans la base qui doit être saturée.
    Ouvre ton fichier configuration et cherche :
    public $session_handler = 'database';
    pour remplacer par
    public $session_handler = 'none';
    Tu peux aussi vider la table sessions dans ta base.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

    Commentaire


    • #3
      A ma première tentative de connexion, j'ai vu l'erreur en front-end. Je me reconnecte une seconde fois puis je vois le site.
      Je suppose que tu viens d'intervenir et de régler le problème.

      Commentaire


      • #4
        Si tu vois le site c'est que ce doit être un cache ou un historique. Le site est toujours HS. Je suis encore en cours d'intervention sur la base de données. Comme je n'arrive pas à faire ce que je veux sur la base, j'ai contacté l'hébergeur, mais leurs réponses sont très longues à venir (24h par question en moyenne). Exemple : je ne peux pas supprimer la base pour réinjecter une sauvegarde. J'ai des messages d'erreur qui m’empêche de supprimer ou vider la base.
        Je suis blonde mais pas du bulbe !

        Commentaire


        • #5
          Le message d'erreur indique que la table #__session n'existe pas. Avez-vous essayé de la recréer ?
          Tous les services pour les sites Joomla! : sécurité, nettoyage de sites piratés, hébergement, SEO, applications Fabrik, migration, compatibilité mobiles, accessibilité, ...
          Administrateur certifié Joomla! 3
          https://www.betterweb.fr/services

          Commentaire


          • #6
            Oui. Dans l'ordre concernant la base de données :
            - j'ai vidé la table session, mais elle a disparu. Je crains avoir cliqué sur "supprimer" à la place de "vider".
            - Du coup j'ai tenté d'importer uniquement la table session : error.
            - Puis j'ai tenté de la réécrire à la main : error.
            - Puis j'ai tenté de vider la base complète (error) pour la réimporter entièrement : error.

            voici le message de PHPMyAdmin :

            1 erreurs trouvées lors de l'analyse.
            Expression manquante. (near "ON" at position 25)
            Requête SQL : Éditer Éditer
            SET FOREIGN_KEY_CHECKS = ON;
            MySQL a répondu : Documentation
            #2006 - MySQL server has gone away


            De ce fait, je me demande si le serveur ne serait pas " trop protégé" en écriture. J'ai demandé à l'hébergeur Hosteur de réimporter une base de données, mais ils sont en congés visiblement.

            -----------------------

            Concernant le fichier configuration j'ai remplacé
            public $session_handler = 'database';
            par
            public $session_handler = 'none';

            -----------------------
            voilà où j'en suis.
            Je suis blonde mais pas du bulbe !

            Commentaire


            • #7
              Si tu as des sauvegardes récentes de ta base, récupère simplement la partie "CREATE TABLE" concernant la table "sessions" et utilise l'onglet SQL de phpMyAdmin pour recréer cette table.

              Et plutôt que nous dire "error", donne-nous le message exact dans chaque cas.
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

              Commentaire


              • #8
                J'ai tenté de recréer la table avec l'onglet SQL de phpMyAdmin. Voici le résultat :
                Erreur

                Requête SQL :


                CREATE TABLE `ihxe6_session` (`session_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `client_id` tinyint(3) unsigned DEFAULT NULL, `guest` tinyint(4) unsigned DEFAULT '1', `time` varchar(14) COLLATE utf8mb4_unicode_ci DEFAULT '', `data` mediumtext COLLATE utf8mb4_unicode_ci, `userid` int(11) DEFAULT '0', `username` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT '')


                MySQL a répondu : Documentation
                #1146 - La table 'BDDmahot2017.ihxe6_session' n'existe pas
                Je suis blonde mais pas du bulbe !

                Commentaire


                • #9
                  Il est très étrange que la réponse à un "CREATE TABLE" soit
                  #1146 - La table 'BDDmahot2017.ihxe6_session' n'existe pas
                  Voilà ce que donne le code de création de cette table sur un de mes sites :
                  Code:
                  CREATE TABLE `u0as1_session` (
                    `session_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
                    `client_id` tinyint(3) UNSIGNED DEFAULT NULL,
                    `guest` tinyint(4) UNSIGNED DEFAULT '1',
                    `time` varchar(14) COLLATE utf8mb4_unicode_ci DEFAULT '',
                    `data` longtext COLLATE utf8mb4_unicode_ci,
                    `userid` int(11) DEFAULT '0',
                    `username` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT ''
                  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
                  Ton code, s'il a bien été collé, ne comporte pas le point-virgule de fin.
                  Ensuite, bien que tu sois en version 3.8.7, "data" n'a pas le même type que chez moi.
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

                  Commentaire


                  • #10
                    oui c'est étrange.

                    J'ai retenté de créer la table avec l'onglet SQL de phpMyAdmin
                    --------------------------------------------
                    CREATE TABLE `ihxe6_session` (
                    `session_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
                    `client_id` tinyint(3) unsigned DEFAULT NULL,
                    `guest` tinyint(4) unsigned DEFAULT '1',
                    `time` varchar(14) COLLATE utf8mb4_unicode_ci DEFAULT '',
                    `data` mediumtext COLLATE utf8mb4_unicode_ci,
                    `userid` int(11) DEFAULT '0',
                    `username` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT '',

                    PRIMARY KEY (`session_id`),
                    KEY `userid` (`userid`),
                    KEY `time` (`time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
                    DROP TABLE IF EXISTS `ihxe6_tags`;



                    Le message d'erreur est le même : #1146 - La table 'BDDmahot2017.ihxe6_session' n'existe pas

                    --------------------------------------------

                    J'ai aussi retenté de supprimer toute la base et j'ai ce message :

                    1 erreurs trouvées lors de l'analyse.

                    Expression manquante. (near "ON" at position 25)
                    Requête SQL :

                    SET FOREIGN_KEY_CHECKS = ON;

                    MySQL a répondu :

                    #2006 - MySQL server has gone away
                    ---------------------------------------------

                    Je ne peux donc même pas supprimer la base de données. Est-ce possible que l'hébergeur contraigne ou protège la base de données ?
                    Je suis blonde mais pas du bulbe !

                    Commentaire


                    • #11
                      Chez certains hébergeurs, une base doit être vide avant de pouvoir être supprimée.
                      Mais avec phpMyAdmin, on doit pouvoir ajouter, supprimer, compléter... une base comme a droit de le faire un script PHP. Il est donc tout à fait illogique que tu aies de telles erreurs lors d'une création de table. En mutualisé, une création ou suppression de base n'est autorisée qu'au serveur, pas à l'utilisateur, mais toutes les opérations basiques sont autorisées à cet utilisateur.

                      As-tu la possibilité de tester la restauration de la sauvegarde de ta base sur un autre serveur, local par exemple ?
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

                      Commentaire


                      • #12
                        Les choses avancent. Une sauvegarde de la base de données a pu être importée. Le site est reparti en frontend et backend.
                        J'ai pu faire les mises à jour d'extensions.
                        -----------------------------------------
                        J'ai un NOUVEAU BUG en backend via joomla/extensions/base de données

                        2 problèmes de base de données trouvés

                        La version (3.8.4-2018-01-16) du schéma de la base de données ne correspond pas à la version (3.8.6-2018-02-14) du CMS.
                        La version (3.8.5) de mise à jour de la base de données ne correspond pas à la version (3.8.7) du CMS.

                        onglet "Autres informations"

                        Version du schéma de la base de données (dans #__schemas): 3.8.4-2018-01-16
                        Version de la mise à jour (dans #__extensions): 3.8.5.
                        Pilote de la base de données: mysqli
                        150 modifications de base de données vérifiés.
                        185 valeurs de modifications de la base de données ne changent pas la structure des tables et ont été ignorées.
                        -----------------------------------------

                        ça vous parle ?
                        merci de votre aide.
                        Peggy



                        Je suis blonde mais pas du bulbe !

                        Commentaire


                        • #13
                          Clique sur le bouton "Correction", dans cette page
                          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

                          Commentaire


                          • #14
                            La correction s'est bien passée. Tout est OK. Je vous remercie de votre aide.
                            Je sauvegarde immédiatement le site.
                            et je ferme la discussion. C'est réglé.
                            Je suis blonde mais pas du bulbe !

                            Commentaire


                            • #15
                              Bonsoir Peggy et RobertG,

                              Serveur Debian 8.11
                              Joomla 3.9
                              PHP5.6

                              et

                              Serveur Debian 9.5
                              Joomla 3.9
                              PHP7.0

                              Message d'erreur sous page blanche marqué "error" :

                              Error: Failed to start application: Could not connect to MySQL server.
                              Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/var/lib/php/sessions) in /var/www/vma/libraries/joomla/session/handler/native.php on line 194

                              Je me permets de vous envoyer ce post car j'ai actuellement le même souci que Peggy. En effet Joomla 3.9 fonctionne tout à fait correctement sous mon serveur web debian 8.5 et PHP 5.6 mais provoque ce type d'erreur sous Debian 9.5 et PHP 7.0. J'ai suivi les manips données à Peggy mais rien n'y fait. J'ai l'impression que le problème vient de PHP 7.0 ou peut-être d'un paramètre du php.ini. Apparemment Joomla ne trouve pas la direction de la base de donnée MYSQL 5.6

                              Par contre les sites en html fonctionnent bien.

                              Et je ne suis pas blond

                              Cordialement

                              Claude

                              Commentaire

                              Annonce

                              Réduire
                              1 sur 2 < >

                              C'est [Réglé] et on n'en parle plus ?

                              A quoi ça sert ?
                              La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                              Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                              Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                              Comment ajouter la mention [Réglé] à votre discussion ?
                              1 - Aller sur votre discussion et éditer votre premier message :


                              2 - Cliquer sur la liste déroulante Préfixe.

                              3 - Choisir le préfixe [Réglé].


                              4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                              2 sur 2 < >

                              Assistance au forum - Outil de publication d'infos de votre site

                              Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                              Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                              Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                              UTILISER À VOS PROPRES RISQUES :
                              L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                              Problèmes connus :
                              FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                              Installation :

                              1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                              Archive zip : https://github.com/AFUJ/FPA/zipball/master

                              2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                              3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                              4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                              5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                              6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                              et remplacer www. votresite .com par votre nom de domaine


                              Exemples:
                              Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/
                              Pour executer le script: http://www..com/fpa-fr.php

                              Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/cms/
                              Pour executer le script: http://www..com/cms/fpa-fr.php

                              En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                              Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                              Voir plus
                              Voir moins
                              Travaille ...
                              X