2013-06-12 41 views
1

我有一個PHP網站www.mysite.com,我想使用PHP/Java bridge。我在我的電腦上安裝了tomcat,它在localhost上工作。但是,當我嘗試使用它在我的PHP的服務器上,這是錯誤我得到:PHP Java橋 - JEE服務器

Fatal error: Uncaught Could not connect to the JEE server 127.0.0.1:8080. Please start it. Or define('JAVA_HOSTS',9267); define('JAVA_SERVLET',false); before including 'Java.inc' and try again. 

現在,我沒有太吃驚:我的電腦是不是應該作爲JEE服務器的實時應用。但是對於Java非常不熟悉,我不確定採取什麼步驟來解決這個錯誤:我如何獲得JEE服務器?它只是得到一個Java主機,就像我會得到一個PHP主機?橋的哪些部分需要在PHP服務器上以及JEE服務器上的哪些部分?

這似乎是我需要定義JEE服務器的位置 - 但我不確定這些術語在Java世界中的真正含義。

define("JAVA_HOSTS", "127.0.0.1:8080"); 
define("JAVA_SERVLET", "/JavaBridge/servlet.phpjavabridge"); 

謝謝!

回答

1

根據您的需要:現在忘記PHP的Java橋樑。

  1. 從PHP執行HTTP POST到Java服務器,可以找到很多示例。不幸的是,您需要通過網絡發送PDF(正文),這可能會很慢。
  2. 編寫一個AppEngine應用程序,它接受POST並從正文中獲取PDF(通過HTTP將PDF文件傳輸到Java託管) - 在這裏您可以找到許多示例。
  3. 解析PDF文件,轉換爲文本。在這裏你會發現很多關於你的PDF操作庫的API文檔的例子。
  4. at response參數發回在Java端的文本
  5. 在PHP獲取文本,做你想做的/處理失去的連接到JAVA服務器和TO緩慢響應PHP側!

正如我記得AppEngine可以安排POST到您的PHP,以防止解析。我做了一個cron工作? - 不記得了,但是我與外部建立了連接,但是AppEngine託管與PHP不同,不僅僅是一個FTP上傳文件,還有一些教程是如何從Eclipse中完成的。

+0

非常感謝,這聽起來像我們需要的! :) – Davor

+0

@Davor歡迎您,很高興爲您提供幫助 – 2013-06-12 17:26:22

1

在該lib上,它將Java EE服務器安裝到與PHP相同的機器上,但在diff端口中。 Java服務器的默認端口是8080.我認爲PHP只是從端口80到8080進行TCP/IP通信。在給定示例中,兩臺服務器都使用同一臺機器,但此架構應支持在差異機器上安裝,但需要做適當的配置,當然它會慢很多,但它會起作用。

+0

我的主機只支持PHP,它是一個共享服務器,所以我不能只在那裏安裝一個J2EE服務器......不太瞭解Java也許這是一個愚蠢的問題,但我不能只使用一個Java主機,如https ://cloud.google.com/products/並在define()中設置它? – Davor

+0

@Davor「大多數主機只支持PHP」 - 如果你搜索PHP免費託管。對於我來說,大多數主機只有2GB至32GB的內存只適用於我的J2EE應用程序:)無論如何,至少需要128 MB的Java + OS要求。 Google應用引擎與PHP託管有所不同,並有其自身的侷限性。如果你想堅持免費的解決方案:免費的PHP託管,做HTTP POST或GET到AppEngine服務器,在那裏你必須編寫你的AppEngine應用程序並運行在他的環境中。處理AppEngine限制! – 2013-06-12 14:25:43

+0

我們的主機不是免費的,但我們沒有技能也沒有錢去我們自己的專用服務器,我們可以設置所有我們想要的。例如,如果我們使用http://www.jvmhost.com/,我們可以在那裏獲得J2EE服務器嗎?我仍然不明白,如果這是正確的方式,或者如果J2EE服務器是不同的... – Davor