dav2706
25 Oct 2007, 20:26
Salut,
Je n'arrive plus à acceder à un site de vente en ligne que j'ai réalisé.
Voici ce ke j'obtient quand je tape l'adresse:
1016 - Can't open file: 'sessions.MYD'. (errno: 145)
select value from sessions where sesskey = '85806635d7e8d36f63c4bac4bd292c90' and expiry > '1193339396'
[TEP STOP]
l'adresse du site: www.espadrille-paries.fr
Je precise que je ne n'ai rien touché au site, je me suis rendu compte ke ca marchait plus en allant juste y jeter un oeil. Cela fait des mois qu'il marche correctement, et la tout d'un coup de message apparait. La meme chose se passe quand je veux acceder a la partie admin.
Quelqu'un a un idee??
Merci beaucoup
David
angel2005
25 Oct 2007, 20:38
va dans le control panel sur ton compte hebergeur ensuite ouvre phpmyadmin depuis le co,trol pour acceder a tas base de donnes et ensuite fait une verification de la table sessions. optimise la aussi.
si ca marche pas apres ce, attend un momeny ou tu a spersonne sur la boutique (whos online depuis l'admin de la boutique ) et vide la tabel session.
question récurrente... Fais une recherche sur "errno: 145" ou sur "sessions.MYD" tu trouveras ta solution. En vidant ta table de sessions, ou en la supprimant/recréant, tout devrait rentrer dans l'ordre.
au hasard
[REGLE] Je n'ai plus accès à mon site[resolu] site plantéMessage déplacé, la sécurité d'OsC n'est pas en question
dav2706
25 Oct 2007, 21:18
Merci a tous!
Jai suivi les conseils et j'ai donc executer la commande pour recrer la table session et ca marche !
Bizarre quand meme ces erreurs.
Merci encore
cette base devrait se vider automatiquement... normallement. Si ce n'est pas le cas, soit tu as modifié le fonctionnement des sessions mal à propos, soit tu as un dysfonctionnement mysql. Vérifie cette table de temps en temps!!
et en attendant... ajoute [resolu] dans l'entête de ton sujet en éditant le premier message, ça aidera ceux qui cherche des solutions sur ce forum avant de poser leur question
Bonne continuation
shoprun
26 Oct 2007, 08:05
Salut
Et bien quel serait le style de dysfonctionnement qu'il pourrait y avoir ?
En tout cas ce dysfonctionnement (enfin, les concéquences je dirais) est assez surprenant, car si je suis un peu le déroulement de la gestion des session coté osC, le principe me parait assez simple. Je me dis que ça ça doit marcher.
Lorqu'on crée une session, on appel la fonction session_start.
Vu que osC prévoit (par défaut) de sauvegarder les session dans la base, osC redéfini la fonction session_set_save_handler.
Ceci exécute une fonction -> _sess_gc($maxlifetime) qui détruit toutes sessions inactives, dont le délai est expiré.
Qu'il y est tantôt des dysfonctionnements (création sans cesse de session) ok, mais pour peu qu'il y une qui marche bien, d'un coup d'un seul toutes les sessions expirées devraient être supprimées.
En faite ce que je veux dire, c'est que c'est tout ou rien, soit il y a un blème, alors aucune sessions n'est détruite (elles s'accumulent jusqu'à saturation), soit ça marche (ne serait ce qu'une fois sur 2 suffirait) et les sessions expirées seront supprimées (épuration de la table).
En suivant cette logique, c'est à dire que le problème est toujours présent (non aléatoire), et bien il devrait avoir moyen de pister ce dysfonctionnement. En tout cas la fonction _sess_gc n'est pas appelée. Enfin je pense...
Pour résoudre ce problème, il pourrait y avoir une solution, c'est que (normalement), dans chaque page la fonction session_close est appelée, et bien dans ce cas on pourrait appeler dans cette même fonction la fonction _sess_gc($maxlifetime), non ?
D'après vous, cette modif proquerait 'elle d'autre dysfonctionnement ?
Il pourrait avoir une solution assez simple, ne touchant à rien, c'est de faire une requête pour récupérer le nombre de ligne dans cette table session (SELECT COUNT(session_id)), et d'afficher ce nombre dans son panel coté admin.
S'il y a plus de 1000 ou 2000 (ceci dépend de son trafic bien sûr), et bien c'est qu'il y a un souci.
Bref, au moins on a une info. Puis on peu aussi faire en sorte de s'envoyer un mail si ce nombre venait à dépasser un certain seuil.
En tout cas, pour ceux qui ont déjà rencontrer ce genre de dysfonctionnement, il serait bon d'avoir au minimum ce style d'alerte ...