JSP 동적 웹 기술을 사용하여 웹 사이트를 담당할 때 우연히 PHP로 작성된 기능이 몇 개 있어서 즉시 Tomcat이 PHP를 지원하도록 만들 생각이 들었습니다. Tomcat도 Apache로 제작되는데, JSP만 지원하나요? Tomcat에서 PHP를 사용할 수 있나요? 온라인으로 검색한 후 첫 번째 질문에 대한 답을 빨리 얻었습니다. Tomcat은 Perl과 같은 CGI를 지원할 수 있습니다(특정 설정은 첨부 파일 참조). 그런데 계속 검색해봐도 Tomcat이 PHP를 사용하게 하는 방법을 찾을 수 없었습니다. 일반적으로 Apache와 Tomcat이 공존하도록 설치하는 방법은 PHP+JSP를 지원하는 소위 웹 플랫폼을 구축하는 데 사용됩니다.
물론 사실 PHP 자체도 CGI 사용을 지원하므로 직접 사용해 보았습니다(Windows 운영 체제에서). 먼저 첨부 파일의 지침에 따라 Tomcat이 CGI를 지원하도록 만든 다음 변경합니다. web .xml, 서블릿 이름이 cgi인 구성 섹션에
<init-param> <param-name>executable</param-name> <param-value>php</param-value> </init-param>
Tomcat이 PHP.exe로 실행될 수 있도록 Path에 PHP 설치 경로를 추가하세요. Tomcat을 다시 시작한 후 WEB-INF 디렉터리 아래에 새 cgi 디렉터리를 만들고 여기에 PHP 파일을 넣은 다음 가상으로 매핑된 cgi-bin 디렉터리를 사용하여 이러한 PHP 파일에 액세스합니다.
하지만 PHP 파일을 변경하지 않으면 출력이 없는 것을 볼 수 있습니다. PHP 파일의 헤더에 한 줄을 추가하고 두 개의 캐리지 리턴을 출력해야 합니다.
echo "nn"
이유는 명확하지 않습니다. 콘텐츠 유형 입력이나 Perl의 cgi 프로그래밍 스타일을 기다리고 있을 수 있습니다.
그러나 이 구성을 사용하면 PHP(4.1.0 이상)의 $_REQUEST, $_GET, $_POST와 같은 변수를 사용할 수 없으며 QueryString은 서버 변수 또는 환경 변수에서만 얻을 수 있습니다. $ _SERVER["QUERY_STRING"], $_ENV["QUERY_STRING"]. 어쩌면 POST 제출 양식이 지원되지 않을 수도 있습니다... 아직 시도하지 않았습니다.
저는 Tomcat에 익숙하지 않기 때문에 이는 현재 방법에 대한 사소한 수정일 뿐입니다. 좋은 사례가 있을 수 있으니 조언해 주시기 바랍니다.
관련 권장 사항:
위 내용은 Tomcat 구성 PHP는 $_post, $_get을 사용할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!