2017-12-03 3 views
0

사용자의 http 요청을 데이터베이스에 기록하는 플러그인을 만들려고합니다. 지금까지 필자의 함수를 init 함수에 연결하여 php 파일에 대한 요청을 기록했습니다. 하지만 지금은 또한 이미지, 문서 등 파일에 대한 요청을 기록 할 수 있는지 알고 싶습니다. 누군가가 파일을 요청할 때 실행되는 PHP 코드가 있습니까? 고맙습니다.데이터베이스에 Wordpress 로깅 요청

답변

0

기본적으로 아니요, 아니요. 일반적인 mod_rewrite 규칙 (WP의 자체 다시 쓰기 규칙과 혼동하지 말 것) Wordpress는 이미지, CSS 또는 자바 스크립트 파일과 같은 기존 파일을 특별히 제외합니다. 그것들은 Apache에 의해 직접 처리 될 것입니다.

분명히 각 요청마다 실행되고 데이터베이스에 대한 액세스를 기록하고 해당 파일을 읽고 클라이언트에 내용을 인쇄하는 사용자 지정 스크립트를 추가 할 수는 있지만 상당한 비용이 듭니다. 아파치는 가장 빠른 웹 서버가 아니지만, PHP 스크립트를 실행하고, 데이터베이스 연결을 설정하고, 로깅 등을하는 것보다 클라이언트에 파일을 전달하는 것이 훨씬 빠릅니다.

서버로드가 훨씬 높아지고 페이지로드가 눈에 띄게 느려질 수 있습니다.

대신 액세스 로그를 구문 분석하는 것이 좋습니다. 그들은 당신이 찾고있는 모든 데이터를 포함 할 가능성이 높으며, 설정에 접근 할 수 있다면 클라이언트가 보낸 특정 헤더를 추가 할 수 있습니다. 하루에 한 번 실행되는 cronjob으로 쉽게이 작업을 수행 할 수 있으며 동일한 서버에서 실행하지 않아도됩니다.

+0

브라우저에서 보낸 쿠키도 아파치에 기록 할 수 있습니까? 쿠키가 필요하지만 그 로그에는 나타나지 않습니다. 그리고 당신은 어떤 아이디어가 있습니까? access.log가 그 내용을 수정할 때마다 어떻게 스크립트를 만들 수 있습니까? 대답 주셔서 대단히 감사합니다! – Corina

+0

예, 쿠키를 기록 할 수 있습니다. [% {VARNAME} i '는 헤더를 로깅하므로'% {Cookie} i'가 작동해야합니다 (또는 {{{{{{{{{}} 특정 쿠키 만 원한다면 % {COOKIENAME} c '. 변경 사항에 대한 반응으로서, 리눅스에서'tail' 명령과 같이 계속 실행되고 작동하는 스크립트가 필요할 것입니다 (또는'tail -f', [여기에 제안 된대로] (httwww : //www.devdungeon. co.kr/content/how-tail-file-php)). – janh