J'ai installé le serveur Web Lightpd sur mon ordinateur Windows et j'ai un problème: dans PHP Files No Par exemple J'ai ce script simple ( Quand je vais à l'adresse suivante: i Obtenir ce message d'erreur: P> $ _ Get code> et
$ _ POST code> Les variables sont définies.
tmp.php code>): p>
http: // localhost / TMP .php? x = 123 code> p>
Array (
[SERVER_SOFTWARE] => lighttpd/1.4.20
[SERVER_NAME] => localhost
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[SERVER_PORT] => 80
[SERVER_ADDR] => 0.0.0.0
[REQUEST_METHOD] => GET
[REDIRECT_STATUS] => 200
[QUERY_STRING] => x=123
[REQUEST_URI] => /tmp.php?x=123
[REMOTE_ADDR] => 127.0.0.1
[REMOTE_PORT] => 3150
[CONTENT_LENGTH] => 0
[SCRIPT_FILENAME] => /srv/www/htdocs/tmp.php
[SCRIPT_NAME] => /srv/www/htdocs/tmp.php
[DOCUMENT_ROOT] =>
[SYSTEMROOT] => C:\WINNT
[HTTP_ACCEPT] => */*
[HTTP_ACCEPT_LANGUAGE] => en-gb
[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_HOST] => localhost
[HTTP_CONNECTION] => Keep-Alive
[WINDIR] => C:\WINNT
[PHP_SELF] => /srv/www/htdocs/tmp.php
[PATH_TRANSLATED] => /srv/www/htdocs/tmp.php
[REQUEST_TIME] => 1328287189
[argv] => Array (
[0] => /srv/www/htdocs/tmp.php )
[argc] => 1
)
3 Réponses :
Selon les documents, ce pourrait em> être causé par le paramètre php.ini La valeur par défaut est variables_order code>
. p>
EGPCS code>, mais si elle a été modifiée d'une manière ou d'une autre et ne contenait pas la lettre G, obtenir des variables serait complètement ignorée et
$ _ get code> serait vide. p>
Merci, mais dans ma php.ini, il est défini sur: variables_order = "EGPFCS" alors semble ok?
Je ne trouve aucune documentation pour la lettre f, mais dans mon environnement de test EGPFCS code> remplit toujours
$ _ obtenir code>, alors j'imagine que ce n'est pas votre problème.
Essayez ceci p> Essayez $ _Post fort> p> FORMER UN FORME HTML simple et essayez de le poster. p> <?php
// test2.php
print_r($_POST);
?>
<form method="POST">
<input type="text" name="myvar" />
<input type="submit""/>
</form>
Je n'utilise pas la réécriture et j'ai vide $ _GET. Le premier test que vous suggérez de me donner aucune sortie.
Une fois que j'ajoute les demi-couches manquantes, je reçois: Get: Array () http_get_vars:
Bien que je vois la longueur du contenu est zéro, il ne devrait pas être "zéro". Installez Fiddler et recherchez l'en-tête Envoyer pendant la demande et vérifiez l'en-tête de réponse. Il semble que l'en-tête soit en train de gâcher. P>
considère p>
L'avis dit que l'index non défini est «A», pas «X». Êtes-vous sûr que le code est le même?
Oui, c'est x ou toute autre variable que vous définissez. $ _GET et $ _Post Les tableaux n'existent pas du tout.
Est-ce correctement mis en place? Qu'est-ce que
print_r ($ _ serveur); code> disent pour obtenir des demandes?
Peut-être essayer $ _Request, $ _p, $ _g .. Essayez également un
var_dump ($ _ serveur); code> pour voir si la chaîne de requête apparaît parmi les variables
Désolé, je ne pouvais pas la poster ici, alors s'il vous plaît voir mon message original pour la sortie Print_R ($ _ Server). Il montre X = 123, mais je ne sais pas comment l'obtenir.
Lorsque je mets dans le code: echo $ _Server ['Query_string']; Je reçois la sortie: x = 123. Devrais-je maintenant modifier tous mes scripts PHP ou une méthode pour traduire en quelque sorte $ _Server ['Query_string'] à $ _GET?
@Mario Personne n'a encore fourni une réponse ...
@AndreyRubliov utilisez-vous CGI ou FastCGI entre LightPD et PHP? À quoi ressemble votre fichier LightPD.conf?
À mon avis, cela devrait être sur Serverfault.
@Mario: J'espère que ce n'était pas sérieux: cela peut être un problème de mauvaise configuration de serveur, cela devrait donc être résolu en premier, l'OP ne devrait pas utiliser de tels "hacks".
@Andreyrubliov: Vous devez partager plus d'informations sur la configuration de votre serveur, la version PHP, etc. ... David Souther La question précédente est également bonne. Cela doit être une mauvaise configuration de serveur.
Qu'est-ce que dans
var_dump (Demande $ _) code>?
Au cas où rien d'autre aide: getluky.net/2009/02/24/...