Salut, j'ai un problème pour le Jour (tutoriel sur la structure en php de notre MVC), je n'ai pas de PATH_INFO dans $_SERVER.
J'ai vu dans les commentaires que xGeek avait le même problème.
Merci d'avance,
WoBuGs

26 réponses


Grafikart
Réponse acceptée

Je cite un commentaire répondant au problème :
Pour les problèmes liè à PATH_INFO c'est un régagle d'Apache et de PHP.
Pour Apache dans le httpd.conf ajouter AcceptPathInfo On
Pour PHP dans le php.ini décommenter ou ajouter cgi.fix_pathinfo=1

Si tu es sur un mutualisé active PHP 5.3

WoBuGs
Auteur
Réponse acceptée

En fait, le path_info n'apparaît que si on fait pas exemple path.php/unchemin, avec path.php qui contient

<?php print_r($_SERVER);?>
WoBuGs
Auteur

Merci !

WoBuGs
Auteur

En fait, je ne trouve pas le httpd.conf, il est vide (dans /etc/apache2/httpd.conf, sur ubuntu).

Idem, j'ai fais ce que tu as dis Grafikart, ca ne semble pas fonctionner toujours pas de PATH_INFO dans mon tableau $_SERVER. J'ai regardé sur google, mais rien trouver... Si quelqu'un peut nous aider, ça me bloque pour le tuto.

Ouep je sais, mais en fait c'était la faute de WAMPSERVER, j'ai réglé le soucis merci ! :)

il y a aussi la solution de :

if (!isset($_SERVER'REQUEST_URI'])) {
            $_SERVER'REQUEST_URI'] = '';
        }
        $_SERVER'PATH_INFO'] = substr(urldecode($_SERVER'REQUEST_URI']),-strlen($_SERVER'REQUEST_URI'])+/ **Nombre de caractères à enlever** / );

Pour OVH en mutualisé je n'ai pas trouvé d'autre solution vu que le PATH_INFO n'est pas activé.

Majestik, peux tu s'il te plait partager ta solution car je coince aussi ! Merci ;)

Majestik peux tu nous dire comment tu as fait ? j'ai toujours le problème avec wamp.

j'ai la même problème, est il possible de nous dire comment vous avez fait pour dépasser cette problème?

Petit récapitulatif des points à vérifier qui reviennent de façon récurrente avec le problème du PATH_INFO:
La version de wamp est-elle à jour (2.1e actuellement)? Si ce n'est pas le cas, procèder à la mise à jour puis tester le code à nouveau.
Si le problème persiste, ou que la version de wamp est bien à jour, modifier au besoin le php.ini (en recherchant cgi.fix_pathinfo) comme ceci:

;cgi.fix_pathinfo=0 //avant
cgi.fix_pathinfo=1 //apres

Puis, dans le fichier httpd.conf (je ne suis pas sûr de moi pour cette partie), faire une recherche sur AddType application/x-httpd-php puis ajouter:

AcceptPathInfo On

Une fois les modifications effectuées, redémarrer wamp puis tester à nouveau...

Bonjour j'ai exactement le même problème, j'ai fait exactement ce que thomas indique mais le problème persiste toujours,
quelqu'un pourrait-il montrer où placer AcceptPathInfo On dans le fichier httpd.conf (en indiquant quelques lignes précédentes et quelques lignes suivantes par exemple...). J'avoue que j'ai passé la soirée à farfouiller pour ce problème et que je suis pas mal frustré!
Je vous remercie tous par avance

me semble que c'est dans le <Directory> moi perso sa bug je sais pas ce que mon wamp a sous wimdows le PHP_INFO sur tout ce que j'ai fait c'est le seul truc qui veut pas fonctionne :/

J'ai moi aussi le même souci de PATH_INFO que je n'arrive pas à fixer même avec vos réponses.

Je suis allé sur la doc Apache où j'ai trouvé la définition de AcceptPathInfo mais il n'y a pas l'emplacement pour mettre cette fameuse ligne. Dans httpd.conf ? Dans un autre fichier de configuration ?...

J'ai bien le module mime_module d'activé et je suis en php 5.3

Je suis à deux doigts de balancer wamp par la fenêtre parce qu'après les VHOSTS puis le rewrite et là le PATH_INFO. C'est du jamais vu !
Graph, là tu as une super idée de petit tuto pour la config avancée de wamp parce que moi j'ai retourné la toile sans trouver quelque chose de clair et bien expliqué !

Pour la solution,
Remplacez :

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

Par :

$this->url = isset($_SERVER'PATH_INFO'])?$_SERVER'PATH_INFO']:'/';

Merci! ça fonctionne avec la dernière solution :)

Merci Pachenko, t'es le meilleur (simplicité et rapidité) 1heure que je bute sur ce PATH_INFO !!!!!

merci

Quand je suis la démarche, c'est-à-dire insérer les fichiers .htaccess, j'ai le message d'erreur:
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log."
Merci de me parler de vos expériences

merci Pachenko

Y a t-il d'autre configuration a faire ? sa fait la 2eme pour moi...

Essayez ORIG_PATH_INFO au lieu de PATH_INFO . ça marche pour le moment sur serveur mutualisé (Pas esseyé en local)

Merci pour le partage

de rien

Bonjour,

Perso, de mon côté, En utilisant cette class proposé en lien par "iriven" , ca renvoi :

" Page introuvable

Le controller webroot n'existe pas "

Des idées ?