PHP 콘텐츠 유형=text/html 문제
저자:Eve Cole
업데이트 시간:2009-06-02 18:06:56
최근 포럼에서 이런 질문을 많이 봐서 이렇게 글을 쓰게 되었습니다. 조언 부탁드립니다! ! ! 이 사이트의 FAQ에는 PHP4의 일부 중복 정보를 제거하는 방법에 대한 답변이 이미 있지만 엄밀히 말하면 이 정보는 두 부분으로 나뉩니다. 한 부분은 PHP가 실행 중임을 나타내는 메시지이며, 이는 X-POWERED- BY 등 ; 또 다른 부분은 text/HTML 파일의 기본 콘텐츠 형식을 선언합니다. FAQ의 답변은 문제의 첫 번째 부분을 해결하지만(관련 줄에 설명을 추가하는 한) 포럼은 후자에 더 중점을 두고 있으므로 이 문제에 대해 논의하고 싶습니다. 먼저 언급해야 할 것은 이러한 상황은 PHP가 CGI 모드에서 실행될 때 발생할 가능성이 높기 때문에 대부분 WIN32 플랫폼에서의 오류인 것으로 추측됩니다. 우선, 가장 극단적인 해결책 중 하나는 모든 확장 모듈을 주석 처리하는 것입니다. 즉, 데이터베이스, 그래픽, MAIL 등과 관련된 확장 모듈이 로드되지 않도록 PHP.ini에 선언하는 것입니다. 파일은 다음 형식과 유사합니다.
;윈도우 확장
;확장자=PHP_mysql.dll
;확장자=PHP_nsmail.dll
;확장자=PHP_calendar.dll
;확장자=PHP_dbase.dll
;확장자=PHP_filepro.dll
;확장자=PHP_gd.dll
;확장자=PHP_dbm.dll
;확장자=PHP_mssql.dll
;확장자=PHP_zlib.dll
;확장자=PHP_filepro.dll
;확장자=PHP_imap4r2.dll
;확장자=PHP_ldap.dll
;확장자=PHP_crypt.dll
;확장자=PHP_msql2.dll
;확장자=PHP_odbc.dll
그렇다면 이러한 모듈이 필요하다면 어떻게 될까요? 형님, 제가 해결한 방법은 해당 페이지, 즉 dl()을 동적으로 로드하는 것입니다. 이전에는 이 함수의 용도가 무엇인지 궁금했는데 지금은 ㅋㅋㅋ. . . 좋은 아이디어가 있으면 게시하고 모든 사람과 공유할 수 있습니다! 두 번째 해결책은 PHP의 -q 매개변수를 사용하는 것입니다. PHP 자체에 따르면 "HTTP 헤더 출력 억제"이며 이는 HTTP 헤더 출력이 금지됨을 의미합니다. 이렇게 하면 문제가 완전히 해결되지만 header() 및 setcookie()는 쓸모가 없습니다. 헤헤, PHP는 기본적으로 폐기됩니다. 따라서 이것은 단지 더러운 접근 방식입니다. 좋아요, 그게 다입니다. CGI 모드에서 실행되는 PHP의 위 문제를 해결할 수 있어야 합니다. 위의 정보는 www.faqts.com 의 PHP 부분과 결합되어 있습니다. 이 곳은 질문을 하기 위한 최고의 포럼입니다. PHP/ZEND 작가와 일부 PHP 책의 저자는 종종 귀하의 질문에 답변합니다. ! ! 귀하의 조언을 환영합니다!