PHP5 sur IIS 7.0

Petit nouveau ! | 4 Messages

02 déc. 2008, 14:35

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 !

Mammouth du PHP | 1353 Messages

02 déc. 2008, 16:09

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 ...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Petit nouveau ! | 4 Messages

02 déc. 2008, 16:18

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]

Mammouth du PHP | 1353 Messages

02 déc. 2008, 18:00

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...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Mammouth du PHP | 959 Messages

02 déc. 2008, 22:55

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. ;)

Invité
Invité n'ayant pas de compte PHPfrance

03 déc. 2008, 14:15

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 !