Bonjour à tous,

J'ai commencé le tuto pour monter son CMS de A-Z. Comme pas mal de personnes ici, je suis bloqué par le fait que je n'arrive pas à faire apparaitre la variable PATH_INFO dans la super variable $_SERVER. J'ai bien entendu fait des recherche sur le forum et sur internet et fait beaucoup de testes pour voir si une solution fonctionne chez moi.

Je vous met mes fichier de configuration wamp pour que vous puissiez m^'aider plus efficacement.

// Code supprimé car trop long (cgi path info est bien à 1)

Je suis désoler de remettre ce sujet sur le tapis mpais je suis vraiment bloqué.

Merci d'avance.

6 réponses


Grafikart
Réponse acceptée

Mmh si tu fais localhost/index.php/test/pathinfo et que sur index.php tu debug $_SERVER tu vois quoi ?

Grafikart
Réponse acceptée

Oui dans ce cas là c'est normal. On voit après comment mettre une condition dans le cas d'une url vide :)

Tu as redémarrer le serveur et toujours pas de PATH_INFO ?

Oui, j'ai même réinstallé wamp puis refait la manip sans succès.

Le PATH_INFO apparait bien dans ce cas et retourne "/test/pathinfo" :D...

Je n'ai pas bien compris pourquoi ça ne met pas une variable vide au lieu de ne pas le définir.

Du coup une erreur "UNDIFINED PATH_INFO" apparait sur toutes les urls où on ne met rien après le index.php... C'est normal à ce stade du développement ?

Salut,

J'ai galéré également de mon côté, pioché dans les fichiers de conf, changer de versions d'apache 2, de PHP... sans succès. Puis je me suis résigné à employer une ruse de sioux en deux temps :

Dans le Request.php remplacer ce fameux PATH_INFO :

$this->url = $_SERVER'PATH_INFO'];

par

$this->url = $_SERVER'REQUEST_URI'];

Puis dans le Router.php, utiliser la constante BASE_URL comme chaîne à "trimer" au lieu du slash :

$url = trim($url,BASE_URL);

Au final on obtient donc le même résultat de parsing.

Si cela peut dépanner certains...

Merci pour ces magnifiques tutoriels.