Re: Questions PHP Reply #15 – Saturday 03 February 2007, 23:02:03 Bon, je reviens avec une question pour les pros à propos de la fonction shm_attach()$SHM_KEY = shm_attach($cle, 102400);shm_put_var($SHM_KEY, 'var', $var); OU $variable = shm_get_var($SHM_KEY, 'var');(selon si je sauvegarde ou si je charge)Pis un peu + tard, quand j'en ai plus besoin, un p'titshm_detach($cle);Après un reboot du serveur, ça marche impec pendant un moment (genre 10 à 12 heures quand même), puis cette saloperie commence à me renvoyer des identifiants vides, alors que c'est certainement pas la mémoire qui sature vu que j'en ai encore tout plein de dispo à ce moment là ($SHM_KEY est vide quoi, alors qu'avant quand on l'affiche ça donne un numéro)Quelqu'un a une idée sur le pourquoi du comment? Quote Selected
Re: Questions PHP Reply #16 – Sunday 04 February 2007, 10:33:23 Soit tu la détaches à un endroit ou ce ne doit pas l'etre soit cela correspond à une session expirée.. Quote Selected
Re: Questions PHP Reply #17 – Sunday 04 February 2007, 11:30:25 Quand je la détache, elle a toujours été attachée avant (c'est plutot l'inverse qui m'inquiète à l'occase), sinon de toute façon il me mettrait une erreurPar contre, tu crois qu'un bout de mémoire attaché par une session qui depuis a expiré peut empêcher tous les autres d'attacher de la mémoire? Quote Selected
Re: Questions PHP Reply #18 – Sunday 04 February 2007, 11:54:10 Quote from: Yann Solo – on Sunday 04 February 2007, 11:30:25Quand je la détache, elle a toujours été attachée avant (c'est plutot l'inverse qui m'inquiète à l'occase), sinon de toute façon il me mettrait une erreurPar contre, tu crois qu'un bout de mémoire attaché par une session qui depuis a expiré peut empêcher tous les autres d'attacher de la mémoire?Ce ne serait pas impossible car lorsque une session 'expire, toutes les variables qui y sont rattachées sont vidées. Quote Selected
Re: Questions PHP Reply #19 – Sunday 04 February 2007, 12:04:50 Quote from: Ex-Floodeur – on Sunday 04 February 2007, 11:54:10Ce ne serait pas impossible car lorsque une session 'expire, toutes les variables qui y sont rattachées sont vidées.En fait (explication rapide), c'est pour les combatsLes données du combat n°4513 sont stockée dans la mémoire appelée avec cette clé, et à l'occase un autre joueur y accède avec cette même clé (combat multijoueur)La mémoire est détachée quand tous les joueurs ont quitté un combatDonc si c'est une session qui gicle, pourquoi ça empêcherait TOUS les autres joueurs d'attacher des bouts de mémoire, surtout en considérant que leurs combats à eux ont des n° différents...PS: Après vérif, j'ai des gus déconnectés depuis plusieurs heures alors qu'ils ont encore un combat en cours (donc session expirée depuis longtemps), alors que le bug empêchant d'attacher la mémoire n'est pas (encore) présent actuellement, j'ai rebooté le serveur hier soir...EDIT: La "memoire physique libre en %" augmente régulièrement depuis 4h du matin, j'avais 20% libre et là je suis à 55% libre... La logique de ce truc m'échappe... Quote Selected