Problème lors de la migration d'un site PHP4 vers PHP5

Mrlud
Invité n'ayant pas de compte PHPfrance

08 mars 2007, 12:30

Bonjour,
je ne sais pas si j'écris dans la bonne section ou bien même si c'est fondamentallement un problème PHP mais peut-être aurez vous une idée pour m'aider.
Je souhaiterai porter un site actuellement sur une plateforme PHP4/apache1.3.33 vers une autre machine avec PHP5.1.4/apache2.0.58 (les 2 machines sont des windows)
Je rencontre un problème récurrent sur la nouvelle plateforme, toutes les expressions du type :

Code : Tout sélectionner

<?=(fct?$1:$2) ?>
sont mal interprétées et s'affichent en partie dans la page web au lieu de s'exécuter... (sur le '<?=' firefox me donne l'erreur "invalid xml markup" parfois) Cela se produit dans un contexte javascript visiblement.

Je ne suis pas sûr que ce soit un problème de syntaxe mais plus de configuration de apache ou PHP pour qu'il interprète bien les choses, celà dit je ne connais pas bien tout ça donc...je demande votre aide :)

Merci.

Mammouth du PHP | 1029 Messages

08 mars 2007, 13:06

Bonjour,
Ton problème est que tu utilise un short-tag de php, ce qui est à proscrire dans les nouveaux navigateur respectant la syntaxe xhtml.

en fait ton

Code : Tout sélectionner

<?=(fct?$1:$2) ?>
correspond à
<?php echo (fct?$1:$2) ?>

Il va falloir modifier tes tags :)

MaitrePylos
L'expérience est la somme de toutes nos erreurs.

ViPHP
ViPHP | 3607 Messages

08 mars 2007, 15:09

Bonjour,
Ton problème est que tu utilise un short-tag de php, ce qui est à proscrire dans les nouveaux navigateur respectant la syntaxe xhtml.
Ce n'est pas tout à fait vrai... les short-tag sont à proscrire, c'est vrai! mais en aucun ça n'est à cause (ou grace :wink: ) au navigateur... c'est simplement que sur php5, la directive asp_tags est à off par défaut (il me semble en tout cas), et je croit bien que cette syntaxe correspond au mode asp_tags...
Mais le php étant un langage côté serveur... le navigateur n'a rien à voir dans quoi que ce soit...

Mammouth du PHP | 991 Messages

08 mars 2007, 15:20

j'ai eu un probleme equivalent du au tag avec php5 dans le php.ini les short tags ne sont pas reconnu il suffit juste de mettre <? et <?php et cela fonctionne super enfin bon il faut avoir acces au php.ini
DevOps, Symfony4, Hoa

Invité
Invité n'ayant pas de compte PHPfrance

08 mars 2007, 15:37

(sur le '<?=' firefox me donne l'erreur "invalid xml markup" parfois) Cela se produit dans un contexte javascript visiblement.

Invité
Invité n'ayant pas de compte PHPfrance

08 mars 2007, 15:38

(sur le '<?=' firefox me donne l'erreur "invalid xml markup" parfois) Cela se produit dans un contexte javascript visiblement.
Pourtant c'est bien son navigateur, qui reconnais "<?=" comme une balise xml!

Mrlud
Invité n'ayant pas de compte PHPfrance

08 mars 2007, 16:09

merci pour vos réponses qui m'ont mis sur la piste.
c'est le paramètre "short_open_tags" qui était off...

Merci encore, j'ai passé une bonne journée dessus pour un simple petit "on" à positionner... heureusement que vous êtes là :)

ViPHP
ViPHP | 3607 Messages

08 mars 2007, 16:10

oui, car elle n'a pas été interprétée par php, du fait de la désactivation de cette directive... :wink: