Quelle est la différence entre la variable $_SERVER['PATH_INFO'] et $_SERVER['ORIG_PATH_INFO']?
Quelle est la différence entre $_SERVER['PATH_INFO']
et $_SERVER['ORIG_PATH_INFO']
? Comment puis-je les utiliser?
Quand je lance print_r($_SERVER)
, PATH_INFO
et ORIG_PATH_INFO
ne sont pas présents dans le tableau. Pourquoi pas? Comment puis-je l'activer?
J'ai lu le manuel PHP sur eux, mais ne comprends toujours pas.
OriginalL'auteur zhuanzhou | 2011-04-12
Vous devez vous connecter pour publier un commentaire.
La
PATH_INFO
variable n'est présent que si vous appeler un script PHP comme ceci:C'est seulement la
/HELLO_THERE
partie après le.php
script. Si vous n'avez pas invoquer l'URL comme ça, il n'y aura pas un$_SERVER["PATH_INFO"]
variable d'environnement.La
PORIG_
préfixe est un peu rare.PATH_INFO
est une norme CGI-variable d'environnement, et ne doit jamais être préfixés. Où avez-vous lu cela? (Il y avait quelques problèmes autour de PHP3/PHP4 si vous avez appelé l'interprète PHP via cgi-bin/-, mais presque personne n'a de telles installations d'aujourd'hui).Pour référence: http://www.ietf.org/rfc/rfc3875
ORIG_PATH_INFO
. Il semble que certaines configurations de serveur, de créer ce lieu dePATH_INFO
.Alors c'est assez certainement CGI de l'installation. PHP serait d'utiliser le PATH_INFO sur SCRIPT_FILENAME dans certains paramètres, de sorte que le serveur est probablement configuré pour utiliser un autre nom pour ce genre de requête.
OriginalL'auteur mario
essayez ceci :
OriginalL'auteur dhamaso
PATH_INFO et ORIG_PATH_INFO sont rarement utilisés. Ces reportez-vous à quoi que ce soit dans le chemin de la requête (la partie de l'URL à partir de la première /) qui vient après le nom du fichier, et la chaîne de requête. Généralement, vous n'aurez pas de PATH_INFO dans une URL.
Je suppose que tu veux dire ORIG_PATH_INFO et pas PORIG_PATH_INFO. Le chemin information peut être manipulée par des choses comme le mod_rewrite et PHP scripts eux-mêmes. ORIG_PATH_INFO est le PATH_INFO comme il était dans la demande d'origine, avant tout processus de réécriture ou de toute autre manipulation a été fait à la chaîne.
PATH_INFO
est utilisé dans les deux Symfony et zend framework, je ne pouvais pas l'appeler "rarement utilisé"Juste pour ajouter à ce que j'avais besoin d'utiliser
PATH_INFO
et a un peu induit en erreur parPATH_INFO
apparemment pas être utilisé tant que ça. Basé sur WordPress à l'aide de ce plan interne: github.com/WordPress/WordPress/blob/4.4.4/wp-includes/.... Il est juste de dire qu'il est utilisé beaucoup afin de l'utiliser si vous en avez besoin!"...qui vient après le nom du fichier, et la chaîne de requête." - À noter que PATH_INFO vient avant la chaîne de requête, pas après.
OriginalL'auteur Wige
Avant 5.2.4,
PATH_INFO
était apparemment cassé (non défini) dans la configuration par défaut. Peut-être que c'est.https://bugs.php.net/bug.php?id=31892
Le manuel PHP dit que
ORIG_PATH_INFO
est:Référence:
http://php.net/manual/en/reserved.variables.server.php
OriginalL'auteur Alan