2010-05-12 3 views
3

플러그인을 부풀린 Wordpress 설치를 디버깅하려고합니다. 그래서 모든 콜백을 기록하는 매우 간단한 homebrew 로거를 추가했습니다. 콜백은 기본적으로 Wordpress의 궁극적으로 250+ 행 다차원 배열로 나열되어 있습니다 (print_r()을 사용할 수 없습니다. 호출되기 전에 바로 잡아야하기 때문에)).PHP 로그 파일이 텍스트가 아닌 이유는 무엇입니까?

내 로거 라인 $logger->log("\t" . $callback . "\n");

로거가 더 이상 제대로 인코딩되지 내 로그 파일을 일으키는 뭔가를 추가하고이 특정 작업 중에 있지만,이 개 지점에서, 정상적인 상황에서 멋쟁이 텍스트 파일을 생성합니다. Gedit (나는 Ubuntu에있다)는 인코딩을 이해하지 못한다고 주장하면서 파일을 열지 않을 것이다. vim에서 범인 콜백 (디버거에서 찾을 수없는 배열을보고있는)은 중간에 있으며 ^@lambda_546으로 인쇄되고 파일 끝에는 귀여운 사람 ^M이 있습니다. ^M^@은 내 vim에서 파란색이며, .txt 개의 파일에 설정된 색 테마가 없습니다. 나는 그것이 무엇을 의미하는지 모른다.

is_string($callback) 조건을 추가하려고 시도했지만 동일한 결과가 나타납니다.

아이디어가 있으십니까?

답변

0

미스테리 이상. 콜백 중 하나는 익명의 함수였습니다. PHP create_function 문서를 검토 한 결과, 작성자의 함수 이름은 다음과 같습니다 : chr(0) . lambda_n. PHP에 감사드립니다.

\r에 관해서. 글쎄, 그건 더 당황 스럽네. 내 로거는 내가 이전에 작성한 이전 코드를 다시 사용하여 \r\n에 끝나는 행을 작성했습니다.

1

^@은 NUL 문자 (\0)이고 ^M은 CR (\r)입니다. 왜 그들이 생성되고 있는지 전혀 모르겠다. 찾으려면 소스와 데이터베이스를 살펴 봐야합니다. geany는 파일을 충분히 쉽게 열 수 있어야합니다.

+0

나는 geany 0.81을 얻었으며 "파일이 텍스트 파일과 같지 않거나 파일 인코딩이 지원되지 않습니다"라고 불평합니다. –

+0

이상한. NUL은 텍스트 파일의 시작 부분에 있습니까? –

+1

또한, 열린 대화 상자의 하단에있는 '기타 옵션'... '물건'을 누르면 수동으로 선택하고 인코딩 할 수 있습니다. –

0

이 귀여운 사람들은 Windows 용 콜백 포맷 결과입니다.

관련 문제