在負責採用JSP動態網頁技術的網站時,剛好手邊有PHP寫的一部分功能,所以就很直接地想到讓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 "\n\n";
原因不太清楚。可能在等待Content-type輸入,或是Perl的cgi程式風格。
但這樣配置,PHP(4.1.0以上版本)中$_REQUEST、$_GET、$_POST#等變數就無法用了,只能從伺服器變數或環境變數取得QueryString了:$_SERVER["QUERY_STRING"]、$_ENV["QUERY_STRING"]。也許不支援表單的POST提交了…具體還沒試過。
由於對Tomcat不熟悉,所以這些只是在現在方法上的小修小補,可能有好的做法,還希望大家不吝指教!
相關推薦:
#以上是tomcat配置php無法使用$_post、$_get的詳細內容。更多資訊請關注PHP中文網其他相關文章!