我們在這篇文章中為大家詳細的講解了有關Tomcat支持PHP的相關方法,希望對大家有所幫助。在負責一個采用JSP動態網頁技術的網站時,剛好手頭有寫的一部分功能,所以就很直接地想到讓Tomcat支持PHP。
Tomcat也是Apache出的,難道就只支持JSP嗎?到底能否在Tomcat上用PHP呢?上網搜索了一番,很快有了第一個問題的答案:Tomcat可以支持CGI,如Perl。
但繼續搜索,卻遲遲無法找到讓Tomcat支持PHP的方法,一般都是采取裝Apache和Tomcat共存的方法來搭建所謂的支持PHP+JSP的Web平台。
當然,其實PHP本身也支持CGI方式的使用,所以就自己動手試了一試(在Windows操作系統上):先按照附文的做法讓Tomcat支持CGI,然後再改web.xml,在servlet-name為cgi的一段配置中加上:
- < init-param>
- < param-name>executable< /param-name>
- < param-value>php< /param-value>
- < /init-param>
並把PHP安裝路徑加入Path,這樣Tomcat就能運行到PHP.exe了。重啟Tomcat後,在WEB-INF目錄下新建一個cgi目錄,把php文件放在這裡,然後訪問時用虛擬映射出來的cgi-bin目錄來訪問這些PHP文件。
但是如果對PHP文件不加任何改動的話,可能會發現什麼輸出都沒有。需要在PHP文件頭部加一行,輸出兩個回車: echo "nn"; 原因不太清楚。可能在等待Content-type輸入,或是Perl的cgi程序風格。
但這樣配置,PHP(4.1.0以上版本)中$_REQUEST、$_GET、$_POST等變量就無法用了,只能從服務器變量或環境變量中獲取QueryString了:$_SERVER["QUERY_STRING"]、$_ENV["QUERY_STRING"]。也許不支持表單的POST提交了……具體還沒試過。
由於對Tomcat不熟悉,所以這些只是在現在方法上的小修小補,可能有好的Tomcat支持PHP的做法,還希望大家不吝指教!