2014-07-20 2 views
0

나는 PHP 스크립트 log.php를 가지고 있는데, 고객에게 $ _SERVER [ 'REMOTE_ADDR'] 값을 텍스트 파일에 기록합니다.

이 스크립트를 실행하는 데 cron-job을 사용하지만 기록 된 모든 remote_addr 값은 127.0.0.1 대신 공백입니다.

왜 비어있게 되나요?

+0

스크립트를 어떻게 시작하나요? 명령 줄에서 wget, curl 또는 php를 호출하는 것입니까? –

+0

'$ _SERVER'는 함수가 아니며 배열입니다. 배열 요소는'()'이 아니라'[]'를 사용하여 액세스됩니다. – Barmar

+2

CLI에서 PHP를 실행 중이면 네트워크 클라이언트가 없으므로 'REMOTE_ADDR'이 없습니다. – Barmar

답변

1

좋아요. Barmar는 덧붙여서 $_SERVER 변수 (일부 다른 PHP 기능 포함)는 응용 프로그램 서버 (예 : Apache)를 통해 스크립트를 실행할 때만 작동합니다. 당신이 당신의 터미널/콘솔/무엇을 통해 그것을 실행한다면 실제로 "클라이언트"가 없기 때문에 "클라이언트"도 링크 된 정보가 없습니다.

+0

답장을 보내 주셔서 감사합니다. 당신 말이 맞아요. – user3545903

관련 문제