<?php
//$ipaddress = $_SERVER['REMOTE_ADDR'];
$ipaddress = '10.0.1.4';
$binip = inet_pton($ipaddress);
echo $binip;
?>
빈칸으로 반환됩니다. 내 공개 IP를 사용하는 경우 올바른 결과를 반환합니다. 192.168.1.2
(내 오래된 LinkSys 라우터에 이와 비슷한 IP가 있음)에 대한 결과가 반환됩니다. 나는 로컬 IP를 가지고 리눅스 머신에서 내 애플 리케이션을 테스트하고있다. 연결된 모든 컴퓨터는 내부 IP 10.0.1.XX
을 사용합니다. 내 애플 리케이션은 MySQL을 사용하고 binip이 비어 있으면 오류가 난다. 그래서 나는 로컬 IP에 대한 해결 방법을 모르고있다. 나는 그 형식의 로컬 IP를 탐지하고 ipaddress 변수를 편집하여 inet_pton에 대한 유효성을 검사하는 것과 관련이 있다고 생각할 수도 있습니다. 어떤 아이디어?inet_pton이 10.0.1.4와 같은 로컬 IP 주소에서 작동하지 않습니다.
inet_ntop()에 문제가 있습니까? 코드 샘플에 표시된 것처럼 제목이 말하거나 inet_pton()을 사용합니까? 아니면 둘 다 사용합니까? inet_ntop ($ binip)을 echo하면 무엇을 얻을 수 있습니까? –
"빈칸으로 돌아갑니다"Well'echo' echos; 아무것도 반환하지 않습니다. 그리고 "공백"이란 무엇입니까? 'var_dump ($ binip)'하고 변수가 실제로 무엇을 포함하고 있는지 알아보십시오 : 빈 문자열? '거짓'입니까? 'NULL'? 'inet_pton' [당신에게 사람이 읽을 수있는 문자열을주지 못하기 때문에] (http://php.net/manual/en/function.inet-pton.php) . 아마도'ip2long'을 의미했을까요? –