probleme passage php4 a php5

Eléphant du PHP | 199 Messages

27 août 2007, 23:24

Bonjour,

je viens de recuperer un site heberger sur du php4, en l'installant sur mon serveur en php5 je me retrouve avec plein de bug...

Est ce que quelqu'un sait si il est possible de simuler un hebergement php4 avec par exemple un fichier htaccess ? ou quelque chose dans le genre ?

j'ai chercher sous google sans succées...

Merci d'avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8877 Messages

28 août 2007, 00:32

Bonjour,

Tu ne peux pas réellement "simuler" php4, une solution possible est d'installer php4 ET php5 sur ton serveur et effectivement l'utilisation d'un .htaccess qui va indiquer quelle version de PHP doit être utilisée est possible.

Quelques pistes:
http://www.gentoo.org/proj/en/php/php4- ... ration.xml
http://www.sitepoint.com/blogs/2004/03/ ... -parallel/
http://www.google.fr/search?q=php4+php5+same+server
Quand tout le reste a échoué, lisez le mode d'emploi...

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

28 août 2007, 00:54

je me retrouve avec plein de bug...
En fait il faudrait surtout voir à quoi ressemblent ces "bugs". En général il s'agit d'erreurs qui étaient présentes sous PHP4 mais cachées par défaut...

ViPHP
AB
ViPHP | 5818 Messages

28 août 2007, 03:37

Bonjour,
je me retrouve avec plein de bug...
Merci d'avance
J'ai été confronté à deux bug en passant de php 4 à php 5 :

1/ Short tag désactivés, c'est à dire que <? ne déclarera pas du code php, il faut écrire <?php
C'est assez déroutant quand on ne le sais pas car ça génère beaucoup d'erreurs sans indiquer le pb initial.

2/ une même fonction ne peux pas être déclarée deux fois (ça peut arriver avec des fichiers inclus)

Cela ne répond pas directement à ta question, mais peut-être qu'une recherche sur '<? ' pourrait t'indiquer si la principale source d'incompatibilité viens de là auquel cas un simple rechercher remplacer peut rendre ton code compatible php5 (ou tu peux activer les short tags sur ton serveur).

Pour les redéclarations de fontions, le message d'erreur est explicite donc pas de souci pour corriger.

Une autre source de bug : les class. Un peu plus long à corriger donc dans ce cas de figure tu aurais peut-être intérêt à suivre les conseils d'@rthur.

ViPHP
ViPHP | 2291 Messages

28 août 2007, 10:22

Bonjour,

je viens de recuperer un site heberger sur du php4, en l'installant sur mon serveur en php5 je me retrouve avec plein de bug...

Est ce que quelqu'un sait si il est possible de simuler un hebergement php4 avec par exemple un fichier htaccess ? ou quelque chose dans le genre ?

j'ai chercher sous google sans succées...

Merci d'avance
Tu pourrais installer WAMP en local et tester il y a un pack qui te permet de passer de php4 à php5 et vice versa :wink:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 199 Messages

28 août 2007, 10:56

Salut,

merci a tous pour les reponses !
installer php4 ET php5 sur ton serveur
je vais regarder tes liens plus en details, mais ca me fait un peu peur...

est ce que l'operation est risquée ?



En fait il faudrait surtout voir à quoi ressemblent ces "bugs"
En faite au depart j'ai eu des bugs avec les chemins d'accées aux includes.

j'avais aussi des bugs due a la recuperation de variable $_POST sans verifié si elle existe avec isset,.

une fois ces bugs corrigé j'ai toujours des bugs de class (tous le site est en class)

j'ai aussi des variables du genre

Code : Tout sélectionner

$VARS['header'] = "header.inc.php"; $VARS['footer'] = "footer.inc.php";
qui apparemment ne passe pas...


Pour infos le site c'est "banvip . com"

aucun design ne s'affiche car tout est definie par c'est variable.


J'ai regardé chez OVH pour prendre un hebergement pas chere mais j'hesite j'ai peur de le prendre et que ca ne corrige pas les bugs...

mais le site marché trés bien avant sur son ancien hebergement donc il devrai pas y avoir de raison.

Qu'en pensez vous ?

ViPHP
ViPHP | 2286 Messages

28 août 2007, 11:11

Je ne pense pas que tu en aies pour plus d'une heure pour faire les quelques modifications nécessaires pour que le site passe parfaitement sous php5. Tu as cité et apparemment réglé presque tous les problèmes les plus classiques.

Pour info, les hébergements mutualisés php4 sont tous voués à passer à php5 à brève échéance, donc retrouver un hébergement php4 n'est pas une bonne solution. Il faut gérer cette montée en version, même si ça demande quelques petits efforts.

Bon courage.
if([email protected]work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 199 Messages

28 août 2007, 11:37

je regarde pour corriger, mais c'est assez galere, vue que ce n'est pas moi qui ai créé le site...

il faut comprendre avant de corriger...


Quelqu'un connait adodb ?

j'ai ce bug : Fatal error: Call to undefined function ADONewConnection() in /var/www/vhosts/banvip.com/httpdocs/include/config.inc.php on line 17



Bon trop de bug et trop galere a corriger, manque de temps...


J'ai trouvé un pote qui avait un hebergement en php4 et ca a l'aire de bien marcher !!


Merci de vos reponses

je met resolu !

ViPHP
AB
ViPHP | 5818 Messages

28 août 2007, 21:00

Je ne pense pas que tu en aies pour plus d'une heure pour faire les quelques modifications nécessaires pour que le site passe parfaitement sous php5. Tu as cité et apparemment réglé presque tous les problèmes les plus classiques.
Tu n'est pas un peu optimiste là? Surtout pour un site dont tu n'a pas vu le code et dont tu ne connais pas le nombre de pages?
Pour info, les hébergements mutualisés php4 sont tous voués à passer à php5 à brève échéance, donc retrouver un hébergement php4 n'est pas une bonne solution. Il faut gérer cette montée en version, même si ça demande quelques petits efforts.
Entièrement d'accord avec toi quand tu dis qu'il faut gérer cette montée en version. Par contre qu'entends-tu par "brève échéance".

Je parlerais plutôt de moyenne échéance.
Allez, je commence les enchères (à la louche) : durant 5 à 10 ans on verra encore des serveurs proposer PHP4 ou 5 et je suis à peu près certain de ma limite inférieure. Qu'en pensez-vous?

PS : Heu, je dis surtout pas ça pour encourager à continuer de développer en php4 ou de ne pas rendre les scripts compatibles PHP5, on est d'accord là dessus.
Mais comme il existe un parc conséquent de scripts PHP4 dont les clients sont parfaitement satisfaits, je me dis que les hébergeurs vont continuer à suivre ce marché tant qu'il subsistera. Il est plus facile de garder un client que d'en gagner un nouveau :wink:

ViPHP
ViPHP | 2286 Messages

28 août 2007, 23:02

Tu n'est pas un peu optimiste là? Surtout pour un site dont tu n'a pas vu le code et dont tu ne connais pas le nombre de pages?
Parfaitement... Mais tu as une autre idée pour le motiver ? :-) C'est dans ces eaux-là pour un site "moyen" s'il ne rencontre pas d'incompatibilité particulière (notamment sur les extensions) et en allant au plus pressé (réglage de l'error_reporting, etc).
Entièrement d'accord avec toi quand tu dis qu'il faut gérer cette montée en version. Par contre qu'entends-tu par "brève échéance".
Tout est relatif et question de point de vue en la matière... Je veux juste insister sur le fait que ça lui pend au nez :)

Je pense qu'avec l'abandon programmé du support de php4.x et l'effet cumulé de l'initiative gophp5 (qui pousse un bon paquet d'applications majeures à se mettre à jour pour "pousser" à la montée en version) on verra le nombre de serveurs php4 passer à php5 dans une proportion d'un bon tiers d'ici à 2010, peut-être de manière progressive, mais sûre. Assez pour arrêter de coder en gardant à l'esprit php4.x pour référence et profiter sans complexe des apports de la branche 5.x.

La compatibilité des scripts php4.x avec php5.x n'est pas totale, mais tout de même très bonne. Quand 50% des applications phares auront un prérequis php5 pour l'installation ou la mise à jour - et on devrait y venir assez vite - la pression autour des hébergeurs les contraindra à mettre à jour leur version de php, à la demande des clients.

Certains, pour se distinguer et récupérer le marché, resteront malgré tout en 4.x (et également un nombre important de machines dédiées en production) voire dédoubleront leur hébergement pour fournir les deux en parallèle, mais le but est bien que les mutualisés cessent d'avoir cette inertie de 3 ans -minimum- pour monter en version, telle qu'on a pu la connaitre avec php3 :?

Allez, on va le faire plus simple et plus court : on a tous droit à file_put_contents() , file_get_contents() et simpleXML. En particulier ceux qui viennent demander de l'aide sur des forums comme celui-ci... Ces fonctions leur éviteront quelques migraines tout en leur rendant bien service !

Pour moi tout effort de migration vers php5.x doit être systématiquement encouragé, en particulier si la personne n'a pas les moyens financiers et/ou humains de passer sur du dédié. Sans compter que, sauf cas particulier, ce n'est pas très compliqué à réaliser, non ?
PS : Heu, je dis surtout pas ça pour encourager à continuer de développer en php4 ou de ne pas rendre les scripts compatibles PHP5, on est d'accord là dessus.
Mais comme il existe un parc conséquent de scripts PHP4 dont les clients sont parfaitement satisfaits, je me dis que les hébergeurs vont continuer à suivre ce marché tant qu'il subsistera. Il est plus facile de garder un client que d'en gagner un nouveau :wink:
La durée de vie moyenne d'un site web aujourd'hui, et à fortiori d'un script installé, doit avoisiner 3-4 ans ~maximum~ (estimation pifométrique made-in-moi, vous pouvez critiquer sans vergogne). A mon avis toujours, dans ce laps de temps, 80% des utilisateurs auront soit fermé le site, soit changé de script, soit mis à jour le script avec une nouvelle version. Et dans les deux derniers cas, si le script en question nécessite php5 pour tourner, que faire ?

C'est le but de l'initiative gophp5 :D provoquer cette situation pour faire petit à petit de php5.x le nouveau standard.

A titre personnel, j'aurais tendance à fuir l'hébergeur qui ne met pas à jour ses logiciels, en particulier apache, php et mysql -des logiciels sur lesquels on a tout de même envie de compter question sécurité, entre autres- sur ses serveurs mutualisés. :?
if([email protected]work()){ Nespresso(); } else { what(); }
______________________________

Administrateur PHPfrance
Administrateur PHPfrance | 658 Messages

28 août 2007, 23:20

C'est le but de l'initiative gophp5 :D provoquer cette situation pour faire petit à petit de php5.x le nouveau standard.

A titre personnel, j'aurais tendance à fuir l'hébergeur qui ne met pas à jour ses logiciels, en particulier apache, php et mysql -des logiciels sur lesquels on a tout de même envie de compter question sécurité, entre autres- sur ses serveurs mutualisés. :?[/quote]

Merci Cali !!! ;)
Co-auteur du livre PHP 7 avancé
Co-auteur du livre Performances PHP : Audit et optimisation LAMP
Co-fondateur de l'Association Française des Utilisateurs de PHP http://www.afup.org
Formateur PHP pour Openska

ViPHP
AB
ViPHP | 5818 Messages

29 août 2007, 00:21

A titre personnel, j'aurais tendance à fuir l'hébergeur qui ne met pas à jour ses logiciels, en particulier apache, php et mysql -des logiciels sur lesquels on a tout de même envie de compter question sécurité, entre autres- sur ses serveurs mutualisés. :?
Perso les deux mutualisés que j'utilise mettent leur version à jour régulièrement. Le premier reste en php4 tout en augmentant les versions apache, php et mysql, et le second propose PHP4 ou PHP5 :)

Bah je suis d'accord avec vous sur l'essentiel à ceci près que je pense que l'on trouvera des serveurs mutualisés qui donneront le choix entre 4 et 5 plus longtemps. Je pense à tous ces sites vitrine déjà fait qui n'ont pas de nécessiter de passer à php5 etc.

Les anciens hébergeurs garderont encore longtemps le choix entre 4 et 5.

Seuls les nouveaux venus sur le marché pourront se positionner rapidement uniquement sur le php5. D'ailleurs je vois déjà leur slogan : "hébergeur réservé Hi Tech", alors qu'il s'agira simplement d'une structure plus simple à gérer :wink:
Modifié en dernier par AB le 29 août 2007, 00:56, modifié 1 fois.

Eléphant du PHP | 199 Messages

29 août 2007, 00:40

hé ben !! je ne pensé pas lancer un debat aussi grand !! :lol:

Pour infos le serveur sur lequel le site est hebergé est un serveur OVH qui a PHP4 et PHP5 .

Pour ma part je suis sous php5 sur mon dédié, et je ne connait que le php5... je fait du php que depuis peu de temps...

Voila je vous relaisse a vos debat trés instructif mais un peu compliqué pour mon petit niveau :cry:

ViPHP
ViPHP | 5918 Messages

29 août 2007, 03:29

Et php3 alors ?

Attendez, je sors ==>[] :mrgreen: