tomcat配置php無法使用$_post、$_get

來源:互聯網
上載者:User
在負責一個採用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不熟悉,所以這些只是在現在方法上的小修小補,可能有好的做法,還希望大家不吝指教!

相關推薦:

Tomcat7.0.82在Linux下安裝的方法

Tomcat中的幾種類載入器介紹

Tomcat 總體結構詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.