2017-01-19 1 views
0

I exécuter ce code:var_dump() et print_r() sortie différentes valeurs

<?php 
    $test = $_SERVER['HTTP_HOST']; 
    var_dump($test); 
    print_r($test); 
    die(); 

Je reçois cette sortie: enter image description here

Je lance ce code:

<?php 
    $test = $_SERVER['HTTP_HOST']; 
    print_r($test); 
    var_dump($test); 
    die(); 

Je reçois cette sortie: enter image description here

W hy ne peut pas print_r() et var_dump() d'accord sur la valeur de $ test dans le cas 1?

Pour le contexte sur comment je suis arrivé ici. Je cours une boîte de larvar/homestead vm, et j'utilise Browsersync. Browsersync crée un proxy (localhost:3000) que je me connecte à, qui pointe vers le vm Laravel/ferme (192.168.10.10). Le proxy modifie la valeur de l'en-tête lorsque la demande Host passe à travers elle.

+1

Aussi étrange que 'localhost: 3000' est pas la longueur 13. – AbraCadaver

+0

@AbraCadaver bonne prise. – Nikita240

+2

C'est un peu impossible, j'ose le dire. 'var_dump' ne produit généralement pas le fichier et le numéro de ligne. Est-ce que votre 'var_dump' est spécial? – deceze

Répondre