évolution de PHP

Répondre
marcel marie
le 11/03/2010 à 07:59
marcel marie
Bonjour,
J'utilise actuellement, en mise au point et en local,une ancienne version de Easyphp qui est accompagnée de PHP 4.3.10.
Tout est bon.
Tout est bon sur mon site également avec PHP 5.2.5.
Le nouvel Easyphp est avec PHP 5.3.2 et m'amène plein d'erreurs.
* ne prend plus HTTP_POST_VARS ..
* session_is_registered est DEPRECATED fonction

Je sais y remédier ponctuellement mais l'application est trop lourde pour modifier tous les modules instantanément.

* Quelles sont les directives de ini.php à modifier pour faire accepter les anciennes instructions et c'est sûrement possible puisque chez mon hébergeur c'est bon.
* J'ai cru lire quelque part que l'on pouvait "surpasser" les directives de php.ini en mettant des instructions dans les scripts. Ai-je rêvé? Si oui comment, dans ce cas précis?
Je vous remercie. Bonne journée.
Marcel Marie
m.m.m.
LA GLOBULE
le 11/03/2010 à 13:41
LA GLOBULE
Tout d'abord, d'après ce que je comprend, il y'a quelques jours encore, tu utilisais php 4.3.10 pour tes développements. Or php 4.3.10 date de décembre 2004 : cette version de PHP a presque 6 ans, elle n'est plus du tout d'actualité, et utiliser cette version ne peut se justifier que par de grosses contraintes.

D'une manière général, il vaut mieux avoir un environnement de développement identique à celui de production (version des logiciels / configurations des logiciels) : cela t'évite les mauvaises surprises de ce genre.

Sinon HTTP_POST_VARS n'existe plus, et ce n'est pas un mal. Cette variable date de PHP 3, et depuis PHP 4, on doit utiliser $_POST à la place (qui est une super globale). Mais comme tu le fais remarquer, HTTP_POST_VARS fonctionnait encore sous PHP 4. Mais ce n'est pas parce que cela fonctionnait qu'il s'agissait de la meilleure façon de faire.
Je t'encourage vivement à modifier tous tes scripts.

Dans mes souvenirs, HTTP_POST_VARS s'active grâce à la directive register_long_arrays dans le php.ini, mais n'ayant jamais joué avec PHP 5.3, je ne garantis pas son existence.

Pour session_is_registered, c'est pareil, cette fonction est deprecated et n'existera plus dans PHP 6, donc encore une fois, je t'encourage à modifier tes scripts en conséquence (en utilisant le tableau $_SESSION), sinon, tu rencontreras encore des problème lors du passage à PHP 6.

Pour retirer le warning, un simple @ devant le nom de la fonction devrait le camoufler.

J'ai cru lire quelque part que l'on pouvait "surpasser" les directives de php.ini en mettant des instructions dans les scripts


Oui, c'est faisable via la fonction ini_set.
marcel marie
le 11/03/2010 à 14:32
marcel marie
Bonjour,

utiliser cette version ne peut se justifier que par de grosses contraintes.

Eh oui, c'est exactement la raison qui m'a fait reporter la mise à jour de mon PHP pour mes applications assez lourdes.

Donc j'essaie de changer et c'est un casse-tête. Je crois que je vais d'ailleurs renoncer puisque la mise au point en local et l'opérationnel sur internet fonctionnent BIEN.

Le register_long_arrays donne encore des résultats plus catastrophiques.

Je vais comparer le phpinfo() qui fonctionne sur l'internet et ajuster éventuellement.

La littérature dit qu'il devrait y avoir dans le php fourni un .ini susceptible d'accepter les anciennes versions de PHP. J'ai essayé, mais rien à faire.

Donc je vais continuer comme à présent et s'il y a une "cata" un jour, je mets tout à la poubellle et je vais m'occuper de mon jardin.

35 ans d'informatique, la vraie, pas celle d'internet, ne m'ont jamais provoqué autant de soucis que ces bidouillages continuels de version de produits devenant incompatibles sans raison, sinon celle d'enquiquiner le monde et d'occuper le temps.

Bon j'y vais, ça me chauffe les oreilles, je vais les refroidir quelques heures dehors.

Merci.
Marcel Marie
m.m.m.
marcel marie
le 11/03/2010 à 19:22
marcel marie
Ce jeudi 19h TOUT EST BON

J'ai tout réinstallé EasyPhp 5.3.2 au lieu de 5.3.1 (version qui étonnamment n'a pas duré très longtemps !!)
J'ai suivi des conseils en mettant à On :
* short_open_tag
* register_long_arrays
et TOUT EST OK sauf le "session_is_registered" mais cela va vite être corrigé.

Il me reste à tout mettre dans les normes, mais la faisabilité étant certaine, le moral est revenu au beau fixe.

Merci pour tout.
Marcel Marie
m.m.m.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours