Voila, c’est officiel, je ne supporte plus l’hébergeur français OVH.com. Propriétaire d’un 90plan chez eux (hebergement mutualisé labellisé « pro ») depuis plusieurs mois, je subis à longueur de temps les bugs ou les modifications intempestives de leur plateforme : sous-domaines qui ne fonctionnent pas, ftp capricieux, scripts php mis en cache sans avoir rien demandé, etc. Leur dernière lubie : désactiver la fonction PHP session_save_path (qui permet, rappellons le, de spécifier le dossier dans le lequel sont stockées les sessions), évidemment sans prévenir personne.
Maintenant, les sessions sont stockées dans le repertoire local /tmp du serveur web. Or, OVH utilise une grappe de serveurs web, et on est redirigé vers l’un ou l’autre en fonction de la charge. Une fois qu’un serveur est affecté à une adresse IP, on garde le même pendant un certain temps. Mais quand le serveur change, la session n’est plus accessible et donc l’utilisateur est déconnecté. Le problème est encore pire dans le cas d’entreprises qui utilisent plusieurs adresses IP sortantes (l’adresse peut changer à chaque page) : impossible d’utiliser correctement une session, on est tout le temps déconnecté !
Résultat, il va falloir écrire mon propre gestionnaire de session, qui refait exactement la même chose (et moins rapide que la version native de php), mais au moins je pourrais spécifier le dossier ! J’espère juste qu’ils n’auront pas désactivé cette fonction également…
Même problème. Je suis fou là. Je dirais même enragé
Posted by MoOx on May 25th, 2007.
Et ben OVH m’a répondu :
vous pouvez passer par la fonction ini_set “session_save_path” pour enregistrer vos sessions dans le repertoire sessions de votre hebergement.
Posted by MoOx on May 31st, 2007.
C’est nouveau ça, parceque j’avais testé au moment de la rédaction du billet, et il me semble pas que ça fonctionnait. Et par curiosité j’aimerais bien savoir pourquoi ils veulent qu’on passe par ini_set plutôt que session_save_path…
Posted by Rémi on May 31st, 2007.
Voici ce qu’un technicien OVH m’a répondu:
Bonjour,
Désole pour ce retard.
Nous travaillons en clustering de notre coté, vous risquez de changer de serveur en cours de votre navigation donc vous perdez vos sessions.
vous pourrez remedier a cela en enregistrant les sessions dans le repertoire sessions de votre ftp en passant par la fonction ‘ini_set” et “save path session”
Cordialement, Mohamed
J’ai testé et cela ne fonctionne tout simplement pas.
Posted by Webbez on January 7th, 2008.
Je supporte a 100% ton point de vue.
Quand on commence a voir faire des choses un temps soit peu élaboré et bien il fo bidouiller sur ovh…
C’est navrant…
Posted by Batrox on March 27th, 2008.
je viens de tomber sur cette page en recherchant justement des echo concernant le stockage des sessions avec ovh. Je confirme, en médiaplan ovh, ca ne fonctionne ni par ini_set ni par sessions_save_path.
On est toujours dans le tmp avec tous les problèmes que ca comporte… Au moins grâce à cette page, je suis fixé. Le gestionnaire personnaisé s’impose :(
Posted by fab on May 20th, 2008.
Je confirme les dificultés sur OVH.
Je développe mon site en local et stocke des données de session sur l’utilisateur (nom, prenom, role, estconnecte).
Tout marche sur mon site, les données restent les mêmes de page en page;
Sur OVH, lorsque j’essaie d’insèrer un nouvelle utilisateur en base, mes variables de session de prenom et de role sont écrasées par les valeurs postées dans le formulaire mais pas le nom.
Bizarre. Ce n’est pas faute d’avoir relu le code, et m’être assurée qu’il n’y avait pas:
-de POST caché
-de valuation de mes variables $_SESSION
-avoir relu les codes inclus
Posted by samisam on December 30th, 2008.
Bonjour,
A l’heure actuelle, je suis aussi sous mutualisé chez OVH, et j’ai créé un dossier “sessions” dans mon dossier www.
J’ai utilisé
session_save_path (’sessions/’);
avant mon session_start, tout fonctionne chez moi, j’ai bien un fichier de session dans mon dossier.
Cependant un problème à un autre niveau, c’est l’utilisation des variables de session.
Bizarrement un truc comme :
$_SESSION['test']=’voici un test’;
sur une autre page avec les sessions initialisées :
echo $_SESSION['test']; //renvoi rien
Là je comprends pas… bref, soit il y a un truc spécial pour OVH, soit… soit je vois pas XD
++
Posted by Riku Asakura on May 28th, 2009.
Bonjour,
J’ai eu les mêmes problèmes que vous, c’est absolument scandaleux.
Je les ai résolus en créant un répertoire “sessions” à la racine de mon site.
Puis en remplaçant session_start par
define(“_PATH_TMP”, “sessions”);
ini_set(’session.save_path’, _PATH_TMP);
session_start();
Ca marche, mais soyons prudent avec OVH…
Posted by Philippe on June 12th, 2009.
Merci pour ces renseignements, je suis actuellement aussi confronter à ce problème.
Je vais donc utiliser la même technique que Phillipe
Posted by Arrogan on July 23rd, 2009.
Merci à Philippe, la solution donnée a l’air de fonctionner.
Maintenant, je cherche une solution pour la fonction
header(“location:mapage.php”); elle n’est pas supportée pour
toutes les pages du site.
Heureusement qu’il y a une solidarité chez les internautes.
Merci
Enrique
Posted by Enrique on September 2nd, 2009.
Bonjour, j’ai eu une solution pour la fonction header qui n’est pas
supportée par OVH voici la solution qu’un internaute m’a donné
J’ai eu le même problème qui m’a cassé la tête pendant plusieurs jours.
Remplace le header(‘Location: mapage.php’);
par die(”);
GrosLolo.
Merci à GrosLolo
J’espère que cela profitera à quelqu’un
Enrique
Posted by Enrique on September 2nd, 2009.
normal aprenez a developper et vous verrai sa marche
Posted by fred on February 12th, 2010.