문제

(Windows 7 OS) - Apache의 log4php를 통해 작업하고 있습니다.이 페이지http://logging.apache.org/log4php/quickstart.html Apache 웹 서버에서 실행되는 PHP가 아닌 콘솔 창에서 실행되는 PHP용인 것 같습니다.그러나 나는 후자의 맥락에서 로그인하는 데 관심이 있습니다.

"고급 예제"에서 코드는 예상대로 로그 파일에 기록됩니다.그러나 "이렇게 하면 다음과 같은 출력이 생성됩니다. 콘솔:정보 - 이륙했습니다.", 이 출력이 실제로 어디로 가는지 찾으려고 노력하고 있습니다.브라우저나 내장된 Apache 로그 파일에는 기록되지 않았습니다.

PHP stdout/output과 관련된 다음 질문을 찾았습니다. Apache의 PHP 표준 출력 - 그런 다음 설치된 Apache 서비스를 종료한 후("포그라운드"에서 Apache를 실행하기 위해) 다음 명령을 실행했습니다(Windows용 BASH 사용).
httpd -D FOREGROUND -k start
기쁨이 없어...이로 인해 "liftoff" 메시지가 브라우저에 기록되지 않았습니다.내장된 Apache 로그 파일에도 기록되지 않았습니다.콘솔 출력을 어디에서 찾을 수 있는지 어떤 아이디어가 있습니까?

도움이 되었습니까?

해결책

그만큼 LoggerAppenderConsole STDOUT에 기록하고 선택적으로 STDERR에 기록합니다.

일반적인 Apache 컨텍스트에서는 콘솔이 없으므로 콘솔에 로그인하는 것은 잘못된 것입니다.일반적인 방법은 존재하는 로깅 기능 중 하나에 로그인하는 것입니다.파일, syslog, PHP echo, 데이터베이스, PHP trigger_error 등.

이 예에서 최소한의 변경으로 출력을 표시하려면 다음을 변경하십시오. LoggerAppenderConsole 에게 LoggerAppenderEcho.이는 콘솔에서 경험할 수 있는 출력과 매우 유사하지만 이제 생성된 HTML 내부에 있습니다.

또는 Windows의 명령줄에서 스크립트를 실행하면 됩니다.다음과 같이 PHP 실행 파일의 경로만 필요합니다. C:\Whatever\Path\php.exe script.php.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top