나는 최근에 include 파일의 함수 정의들 사이에 떠돌아 다니는 문자를 가지고 있으며 얼마 동안 그것을 알아 채지 못했다.PHP : 하나의 서버가 텍스트 뒤에 헤더를 받아 들인다. 다른 하나는 그렇지 않다.
내 개발 서버에서 이것은 명백한 문제가 아니 었습니다. 문자가 인쇄되어 즉시 배너로 덮어 씁니다. 나는 그것을 결코 보지 못했다. 머리글 ('Location : xxx')에 올 때마다 정상적으로 실행됩니다.
하지만 프로덕션 서버에서 리다이렉트가 발생할 때마다 즉시 "헤더가 이미 전송되었습니다"라는 오류가 발생하기 시작했습니다. 결국이 메시지는 결국 나를 처음에 길잃은 문자로 알려줍니다. (비록 그것을 발견하는 데 약간의 시간이 걸렸지 만)
제 질문은 왜 개발 서버에서 작동 했습니까? .INI 또는 다른 설정으로 인해이 동작의 차이가 발생할 수 있습니까? 일종의 기본 출력 버퍼링을위한 버퍼가 있습니까? 아니면이 오류보고 불일치입니까? 두 환경 사이에 작은 구성 차이가 있다고 확신하지만이 동작과 관련하여 원격으로 아무 것도 사용자 지정하지 않았습니다.
개발은 Linux의 Apache 2.2.16에서 php 5.3.3을 실행 중입니다. 프로덕션은 FreeBSD에서 Apache 2.2.20 하에서 php 5.3.6을 실행 중입니다.
감사합니다. 개발 서버에는 4096이 있었으며 프로덕션 서버에는 가치가 없었습니다. – Timberline