OVH Cloud OVH Cloud

$http_server_vars muette !!!!

7 réponses
Avatar
Eric.beaumard
Bonjour


J'installe en ce moment un distribution Apache/MySql/Php
sur mon portable Asus sous Windows XP home SP2 pour
bosser sur un site web déjà existant que je cherche donc
à faire tourner sur mon portable.

PhpMyAdmin ( version 2.6.0-pl3) fonctionne (j'ai pu contruire ma base
de donnée),
j'en déduis que PHP ( version 5.0.2) fonctionne aussi ainsi
qu'apache2.

Mon site fonctionnerait bien si la fonction
$http_server_vars["http_host"]
retournait autre chose qu'une chaine vide. J'ai été voir avec InfoPhp
ce que valait la variable http_host et elle est bien égale au nom
de mon portable et donc pas une chaine vide.

A noter que la même fonction avec comme argument 'remote_addr'
donne une chaine vide aussi.

Le plus curieux est que tout mon site fonctionne sur d'autres ordi
avec la même distribution Apache/Php.Mysql.

Help !!!!!!!

Cordialement

Eric

7 réponses

Avatar
Olivier Miakinen

Mon site fonctionnerait bien si la fonction
$http_server_vars["http_host"]
retournait autre chose qu'une chaine vide.


Euh... ça a marché dans une version de PHP, cette syntaxe ?

Plusieurs réponses :
1) Ce n'est pas une fonction mais un élément de tableau ;
2) C'est $HTTP_SERVER_VARS et pas $http_server_vars ;
3) Ce tableau était déjà obsolète en PHP 4, remplacé par $_SERVER ;
4) Ce n'est pas "http_host" mais "HTTP_HOST" (ou 'HTTP_HOST').

http://fr2.php.net/manual/fr/language.variables.predefined.php

J'ai été voir avec InfoPhp


phpinfo() je suppose.

ce que valait la variable http_host et elle est bien égale au nom
de mon portable et donc pas une chaine vide.


http_host en minuscules ?

Le plus curieux est que tout mon site fonctionne sur d'autres ordi
avec la même distribution Apache/Php.Mysql.


Oui, ça c'est curieux. À moins qu'il s'agisse d'un système où il n'y ait
pas de distinction entre majuscules et minuscules pour ces tableaux.


--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Eric.beaumard
Rectifaction: en utilisant le tableau $SERVER ça fonctionne.
Je ne m'explique toujours pas comment ça peut fonctionner
sur les autres PC. C'est exactement la même distribution
installée.

Cordialement

Eric
Avatar
Eric.beaumard


Mon site fonctionnerait bien si la fonction
$http_server_vars["http_host"]
retournait autre chose qu'une chaine vide.


Euh... ça a marché dans une version de PHP, cette syntaxe ?


La syntaxe exacte utilisée (copier-coller du .php qui donne un site
fonctionnel
ailleurs que sur mon portable):

$HTTP_SERVER_VARS['REMOTE_ADDR'];
$HTTP_SERVER_VARS["HTTP_HOST"]

3) Ce tableau était déjà obsolète en PHP 4, remplacé par $_SERVER ;



Ca tourne sous PHP 5 sur un autre portable que le mien et le serveur de
l'établissement où je travaille (qui est donc sous PHP 5 aussi).

J'ai essayé sur une page php de remplacer $HTTP_SERVER_VARS
par $_SERVER, ça marche pas mieux. Chaine vide aussi. Pas moyen
de récupérer les variables.

Cordialement

Eric


Avatar
Demosthene
Rectifaction: en utilisant le tableau $SERVER ça fonctionne.
Je ne m'explique toujours pas comment ça peut fonctionner
sur les autres PC. C'est exactement la même distribution
installée.


J'ai été un peu vite sur mon post précédent avec $_SERVEUR

Chez moi dès que j'oublies le "_" j'ai une erreur, c'est normal ou
possible d'avoir $SERVER ???

Démosthène

Avatar
Demosthene
Rectifaction: en utilisant le tableau $SERVER ça fonctionne.
Je ne m'explique toujours pas comment ça peut fonctionner
sur les autres PC. C'est exactement la même distribution
installée.


Pour ne pas induire en erreur les lecteurs, c'est certainement de
$_SERVER dont tu veux parler :)

Démosthène

Avatar
Yves_Guyane
Bonjour

bonsoir



Le plus curieux est que tout mon site fonctionne sur d'autres ordi
avec la même distribution Apache/Php.Mysql.

Help !!!!!!!

Cordialement

Eric


Que donne ce script ?
foreach($_SERVER as $cle=>$valeur)
{echo '$_SERVER['.$cle."] = $valeur<br>";
}

Yves

Avatar
Eric Beaumard
Sur le serveur de mon établissement la version
$SERVER ne fonctionne pas et l'autre si.

C'est l'inverse sur mon portable.

Mon portable et le serveur en question utilisent
tous les deux Apache2 et PHP 5.0.2.

Quelqu'un a-t-il une idée ?

Cordialement

Eric