El siguiente código para encontrar la dirección real del IP local (por ejemplo 192.168.1.X
) del servidor host se ejecuta bien en una máquina devSimplemente encontrar la dirección IP del servidor de
$ip = getHostByName(getHostName());
transferirla a otro servidor que empezó a salida 127.0.0.1
Parece que getHostName() devuelve localhost
que a su vez se convierte en 127.0.0.1
por getHostByName().
En cuanto a otras preguntas aquí parecía que $_SERVER['SERVER_ADDR']
podría resolver el puzzle, pero esto también está regresando 127.0.0.1
Comprobación y buscar la salida de phpinfo()
no devolvió pistas sobre la dirección IP real de la máquina.
En serio, ¿alguien sabe una forma a prueba de balas (más simple, mejor) de obtener la dirección IP de la máquina que ejecuta el script? ¿Por qué es tan difícil obtener datos tan fundamentales sin hacer retrocesos?
Realmente no quiero estar codificando la dirección IP en un archivo de configuración ...
¿Su servidor se ejecuta detrás de un proxy/loadbalancer/cache en la misma máquina, haciendo 'localhost' o' 127.0.0.1' el host real en el que se está ejecutando * Apache *? –
¿Qué dirección IP desea, las direcciones IP asignadas a la (s) NIC (s) en la máquina o la dirección IP pública que se utilizó para acceder a la máquina desde Internet? – DaveRandom
@nikc no. pero crees que es algo relacionado con apache? – zaf