OVH Community, votre nouvel espace communautaire.

Migration, cookies et MySQL


Nowwhat
07/08/2015, 16h15
Citation Envoyé par mbi
.....
Concernant les anciens cookies déclarés sous php 4.4.9, je les ai bien dans le navigateur, mais impossible de les récupérer en script avec par exemple if(isset($_COOKIE['son_mail'])), tout le problème est là.
Je pense qu'il y à un espoir.

Quand je bascule un des mes sites , qui s'exécute actuellement avec PHP 5.6, sur la dernière version PHP 4.x d'OVH - mon 'auto-login' fonctionne toujours. Car le Cookie de mon site (chez OVH) est toujours reconnu par mon navigateur en visitant mon site - et retrouve par le serveur web + PHP (qui exécute mon site).
Pour info, j'utilise un CMS, je n'ai pas écrit la gestion des cookies et sessions moi même.

Donc: il faut modifier ton code un peu.
Ces explications : http://php.developpez.com/cours/sessions/?page=page_1 sont à mon avis valable pour toutes les version de PHP. Il n'y pas de situation qui m’indique que "quand vous changez la version de PHP, les Cookies déjà crées n'est sont plus reconnus".

mbi
07/08/2015, 15h33
Merci pour cette première réponse.

Concernant les anciens cookies déclarés sous php 4.4.9, je les ai bien dans le navigateur, mais impossible de les récupérer en script avec par exemple if(isset($_COOKIE['son_mail'])), tout le problème est là.

Merci pour l'info sur la durée de vie de MySQL, ça me laisse un peu de temps.

Nowwhat
07/08/2015, 14h48
Bonjour,
Citation Envoyé par mbi
J'ai un site assez important programmé sur une ancienne version de php et qui tourne actuellement sous php 4.4.9.
J'ai fait une copie intégrale de ce site sur un autre domaine afin de le mettre au point et en ajoutant le fichier .ovhconfig (version 5.4).
Le premier problème est que je perd tous les cookies créés en php 4.4.9 (et donc tous mes clients également), les nouveaux cookies créés sous 5.4 fonctionnent bien sûr normalement. Je présume que c'est le résultat lié aux superglobales.
Quelqu'un aurait-il une solution pour ne pas perdre ces cookies ou les retranscrire ?
J'ai toujours cru, depuis ma jeunesse, que les "cookies" sont stocké dans l'espace 'cache' de nos Navigateurs. certainement pas coté serveur web - donc tu les trouve pas sur ton hébergement. Il est donc impossible de les récupérer ... car tu ne les ai pas ....

Les fichiers 'session', c'est un autre histoire. Leur fonctionnalité pourrait être lui d'un cookie. les 'sessions' peuvent être stocké en tant que fichier sur ton hébergement - si t'as choisi de les stocker sur ton hébergement (sinon, ils seront stocké dans un espace d'OVH, impossible d'accès pour toi).
Les 'sessions' peuvent être stocké aussi dans une table dans une base des données.
Attention : le concept 'session' est quelque chose de très courte durée, souvent moins que quelques heures.
Un serveur web (plus précisément : PHP lui même) va détruire automatiquement tout info de session trop vieux.
ET C'EST NORMAL !! Imagine toi: ton site passe au JTF1 de 20h00 - t'auras des centaine des milliers des visiteurs juste après. Avec autant des sessions ....
Ça va tout exploser .... (saturer, dépasser, ....)

Donc, je pense qu'il faut reformuler ta question - détailler un peu plus.

Citation Envoyé par mbi
Secundo, bien que déclarées obsolètes, les fonctions MySQL sont-elles toujours disponibles sous php 5.4 ?
L'auteur de "PHP" a ceci à te dire : http://php.net/manual/fr/intro.mysql.php
Réponse courte: jusqu'à PHP 5.5 (fin de vie déjà annoncé !!).
Coté PHP, ton site fonctionne donc probablement normalement.
Mais, il est temps de s'activer, et de revoir tes scripts.

Citation Envoyé par mbi
En effet, si j'utilise MySQLi sur l'hébergement actuel j'obtiens une erreur "Fatal error: Cannot instantiate non-existent class: mysqli", je devrai donc faire un second update par la suite.
C'est un erreur de syntaxe qui t'informe qu'il faut 'repenser' ta façon de coder (écrire en fait) le PHP. Ils n’arrêtent pas d’inventer des nouveau truc qui n'existe pas avant (parmi eux: les classes car même PHP est devenu OOP)

Va voir le site http://php.net/ il suffit de le consulter régulièrement pour garder 'son' PHP à jour

mbi
07/08/2015, 14h04
Bonjour,

J'ai un site assez important programmé sur une ancienne version de php et qui tourne actuellement sous php 4.4.9.

J'ai fait une copie intégrale de ce site sur un autre domaine afin de le mettre au point et en ajoutant le fichier .ovhconfig (version 5.4).

Le premier problème est que je perd tous les cookies créés en php 4.4.9 (et donc tous mes clients également), les nouveaux cookies créés sous 5.4 fonctionnent bien sûr normalement. Je présume que c'est le résultat lié aux superglobales.

Quelqu'un aurait-il une solution pour ne pas perdre ces cookies ou les retranscrire ?

Secundo, bien que déclarées obsolètes, les fonctions MySQL sont-elles toujours disponibles sous php 5.4 ?

En effet, si j'utilise MySQLi sur l'hébergement actuel j'obtiens une erreur "Fatal error: Cannot instantiate non-existent class: mysqli", je devrai donc faire un second update par la suite.

Merci par avance de vos réponses.