2012-12-15 27 views
4

我是網絡開發新手,忍耐着我,問題在於我正在編寫一個主要使用PHP編寫的Web應用程序。儘管一半的代碼已經由不同的開發人員用Java編寫,但我的託管服務器不支持Java。任何人都可以幫助我選擇我的選項,我已經使用了Google,並且我已經看到了一個用於java橋接的php作爲可能的解決方案。事情是,我不能這樣做,因爲我目前不能託管Java servlet。如果這是我唯一的選擇,我將不得不使用不同的託管公司,儘管這不是我的首選解決方案。將PHP和Java託管在一起

我不知道Java - 是否有可能將java文件編譯成.class文件並從我的php代碼中引用它,我的Apache服務器可以託管java .class文件。

總之,我需要託管Java和PHP代碼以及從我的php代碼中引用Java代碼,我可以這樣做,還是必須在PHP中重寫Java代碼才能工作。

+0

關於與Java應用程序的任何部分進行交互的主題,請參見[Guzzle](http://guzzlephp.org/)。這也可以輕鬆整合到Symfony中。查找關於[Sonata](https://github.com/sonata-project/)和[KnpBundles](http://knpbundles.com/)的更多信息。不要重新發明輪子。 –

+0

擁有Java中的一半應用程序並切換到PHP?這就像是建造了一半Ferarri並用Wartburg拖曳它。 –

回答

5

1)大多數網站託管網站提供一些規定的JSP/Servlets(例如Tomcat)。即使是最便宜的網站託管服務。所以尋找另一家提供商並不一定是個壞主意。

2)Java代碼不能直接與PHP代碼交談,並且PHP代碼不能直接與Java代碼交談。

3)但是:同一個Web服務器可以配置爲同時運行PHP/Apache和Tomcat。例如:

4)相同服務器可以容易同時支持PHP/Apache和Tomcat作爲單獨服務。換句話說,相同的主機(例如www.myserver.com)可以同時容易地運行Apache/PHP(例如http://www.myserver.com:80)和Tomcat(例如http://www.myserver.com:8080)。這是一種非常常見的配置。

5)做不是看看任何「翻譯」。即使你找到一個聲稱能夠做到這一點的工具,從PHP轉換到Java,或者從Java轉換到PHP,可能會給我帶來更多的麻煩,而不是它的價值。除非有lot的代碼,否則我也不會真正考慮Web服務(或Ajax)。

7)只需找到一個支持Apache/PHP,Tomcat和您選擇的數據庫的提供商;根據您感覺最舒適的方式創建「主頁」,並修改您的PHP和JSP頁面以依賴CSS來確保兩者具有一致的外觀和感覺。

這種方法是最簡單的...它和可能只是你所需要的!

祝你好運

+0

這是關於「代碼轉換」蒸發器的好處。微軟沒有一款他們剛剛發佈的將Java「轉換」爲C#的工具。每個人都很興奮,然後它出來了;他們拉起了「轉換後」的文件,整批大量的代碼被批發出來了?隨着傳輸系統和數據層的發展和擴展,您只需制定一項REST服務,所有PHP和Rube Rails愛好者都可以獲得所有業務。我們有一個JIRA系統,我有* VBA *獲取報告數據。 –

+0

您剛剛提出瞭如何獲得對Apache和Tomcat的支持,但是您所說的都沒有回答如何在兩個系統之間創建交互通道的問題。我建議AJAX的原因是這樣的:PHP不需要完成Java已經完成的工作。所以,只要讓Java給你一個它直接由用戶代理調用就會呈現的頁面副本,把它作爲響應並呈現出來。完成 - 就這麼簡單。 –

+0

jQuery Ajax具有dataType屬性,通過它可以清楚地指定您希望如何接收響應,並且HTML是其中一個選項。但他甚至不需要調整,因爲Ajax可以智能地猜測數據的性質並按預期返回。這種方法可能存在的唯一問題是它可能會引入一些延遲。 –

0

你不需要任何橋樑。但是您可以使用Java應用程序作爲服務...只需從您的PHP(可能使用AJAX調用)向它發出請求,然後顯示返回的響應。

這是我能提供的最簡單的解決方案。

在問更多問題之前,我建議你閱讀一下AJAX here和web服務here。 :-)

jQuery Ajax具有dataType屬性,通過它可以清楚地指定您希望如何接收響應,並且HTML是其中一個選項。但他甚至不需要調整,因爲Ajax可以智能地猜測數據的性質並按預期返回。這種方法可能存在的唯一問題是它可能會引入一些延遲。

您可以通過閱讀doc並瞭解有關選項here來了解如何使用jQuery/Ajax來解決此問題。

閱讀我的意見對其他的答案也一樣,如果你會...

+0

非常感謝您的回答,因爲我是新手,我會尋找一家託管Apache/PHP和Tomcat的託管公司。再次感謝您花時間回答您提供的資源鏈接以及您提供的資源鏈接,我將着眼於集成部分 – jack

0

關於(甚至免費),Java和PHP主機,嘗試Red Hat's OpenShift

關於PHP和Java,反之亦然互動 - 有許多方法:

此外,有Caucho Quercus,PHP在Java中解釋。但是這是一個死的項目AFAIK

+0

謝謝@OndraŽižka,紅帽的OpenShift項目很有意思,我會再看一下,再次感謝您的寶貴時間。回答,非常感謝。 – jack

+0

你可以通過點擊向上箭頭說出所有這些,節省時間;-) –

0

不知道你的Java和PHP是如何編寫的,AJAX可能是你最好的選擇。但是也可以使用Quercus來執行你的PHP代碼並調用你的Java例程,所有這些都在同一個Java服務器上。當然,這需要在支持servlet的服務器上運行。

@OndraŽižka,Quercus活得很好,非常感謝你:)。

0

最近我們使用了mod_jk來管理Apache(用於PHP)和JBOSS for JAVA。 所以,基地服務器將Apache和從哪裏請求重定向到JBOSS。 This might be helpful for you