2012-09-24 3 views
6

J'ai un script PHP assis sur un serveur qui est touché par plusieurs machines différentes à différents moments de la journée en fonction de cronjobs qui sont configurés sur chaque machine. Je voudrais connaître l'IP des machines qui font la demande et quand elle est faite par un navigateur, ce qui suit exécute avec succès:

<?php 
    ... 
    echo $_SERVER['REMOTE_ADDR']; 
    ... 
?> 

Cependant, lorsqu'elle est faite par CURL ou tout autre outil de ligne de commande J'ai essayé à utiliser (lynx inclus), je me retrouve avec les ordures suivantes:

2701:5:4a80:7d:2ee:8eff:5e61:801d

de l'enquête, je l'ai fait, ce résultat est d'Apache pas peuplant la variable $_SERVER pour les demandes reçues qui sont faites à partir la ligne de commande.

REMOTE ADDR Issue with Cron Job

Quelqu'un sait d'une façon d'obtenir des demandes de ligne de commande pour jouer agréable avec la variable $_SERVER ou devrais-je descendre une autre route?

Répondre

10

Ce n'est pas de la foutaise, c'est l'adresse distante correcte. Quelqu'un a utilisé IPv6 pour accéder à votre serveur.

+0

Mon mauvais: - \ Une idée pour obtenir l'adresse IPv4 associée? – TMan

+0

@TMan, Ce n'est pas possible. IPv4 et IPv6 ne doivent pas forcément avoir quelque chose à voir l'un avec l'autre. – Brad

+0

@TMan, Voir ma réponse ici: http://stackoverflow.com/a/12468102/362536 – Brad

Questions connexes