Page 1 sur 1

PHP5 sur IIS 7.0

Posté : 02 déc. 2008, 14:35
par fullzone
Bonjour à tous !

C'est pas faute d'avoir cherché, je pense faire partie des cas (trop) spécifiques ...
Je viens d'installer PHP5 sur IIS 7.0 ( via Windows 2008/SQL Server 2008 ). Tout s'est déroulé correctement, l'affichage des pages html, php, php3, php4 etc ... ne pose aucun soucis dans un premier temps.

L'astuce, lorsque je veux faire afficher sur ma page une variable qui vient de l'URL.
Exemple :

Code : Tout sélectionner

index.php3?test=coucou
Mon code php est le suivant :

Code : Tout sélectionner

<? echo $test ?>
C'est la B-A-BA sur développeur, j'ai quelques années de PHP/Apache derrière moi ... cette commande n'a plus aucun secret :P

Et bien pourtant, ma page reste vierge ... blanche ...

J'ai vérifier mon fichier php.ini, les commandes classiques de configuration me semblent bonnes :

Code : Tout sélectionner

register_globals=Off register_argc_argv=Off short_open_tag=On
J'ai peur que la manière de développer sur Apache diffère de celle d'IIS, en tout cas dans la prise en compte de certains paramètres.

Quelqu'un a-t'il déjà été confronté à ce problème ... parce que sinon, je suis bon pour retourner sur un Apache/PHP/MySQL :(

Merci d'avance !

Posté : 02 déc. 2008, 16:09
par guilt92
Bonjour,

Juste au cas ou, avant de désespérer :
As tu essayé
<?php echo $test; ?>
? ;)

Car selon la config le <? n'est pas spécifique, il vaut mieux toujours utiliser <?php ...

Posté : 02 déc. 2008, 16:18
par fullzone
Oui oui j'ai bien essayé.

PAR CONTRE ...

Toujours pour une page qu'on appellera index.php?test=1234

Je viens d'éditer le phpinfo() et j'ai remarqué que le contenu de la variable est bien pris en compte, sauf qu'il n'est pas répercuté par mon script de page.

exemple. Ne fonctionne pas :

Code : Tout sélectionner

<? echo $test ?>
ou

Code : Tout sélectionner

<?php echo $test ?>
Fonctionne :

Code : Tout sélectionner

<? echo $_GET["test"]; ?>
ou

Code : Tout sélectionner

<? echo $_REQUEST["test"]; ?>
Bizarre ... une idée ?[/quote][/code]

Posté : 02 déc. 2008, 18:00
par guilt92
Ah pardon bah oui c logique !
j'avais pas vu que tu essayé d'afficher une variable passée dans l'URL !

Tu dois utiliser $_GET pour cela je pensais que c etait le php qui marchait pas...

si tu fais
$test = "bonjour";
echo $test;
alors ca fonctionne.

Pour le reste c effectivement une question de config mais de toutes facons la plupart des serveurs sont configurés ainsi et il ne faut plus utiliser les globales...

Posté : 02 déc. 2008, 22:55
par chrislabricole
Fonctionne :

Code : Tout sélectionner

<? echo $_GET["test"]; ?>
ou

Code : Tout sélectionner

<? echo $_REQUEST["test"]; ?>
Bizarre ... une idée ?
J'en profite pour dire qu'il faut un maximum utiliser <?php et non <? !

Ce problème est donc dû au register_globals, regardes ce lien, pour résumer, c'est pas propre, pas clair, on s'embrouille donc vite, et niveau sécurité c'est pas top !
De plus, PHP 6 aura totalement supprimé cette fonction. ;)

Posté : 03 déc. 2008, 14:15
par Invité
Eh bien me voici fixé !

J'ai tellement eu l'habitude de ma passer des $_GET qu'il va falloir être vigilant sur mes prochains développements ...

ça promet encore quelques pénibles casse-têtes du genre "m'enfin ...", alors qu'il manque une virgule dans un long ... très long script :P :P :P

Merci pour tes précisions !