2016-01-23 67 views
1

我有一個情況從PHP程序啓動Apache Tomcat服務器。 我試過,如下圖所示:啓動Tomcat服務器編程方式使用PHP

 $las = system('cmd C:\apache-tomcat-8.0.21\bin\startup.bat',$ret); 
    echo $las. $ret; 
    //output 
    Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\xampp\htdocs\web\operations>C:\xampp\htdocs\web\operations>0 

但它不工作。

然後我試圖這樣。

echo exec('C:\apache-tomcat-8.0.21\bin\startup.bat'); 

輸出:打開cmd並立即關閉它,並出現以下錯誤。

enter image description here

我怎樣才能使它發揮作用。

回答

0

雖然我完全質疑,認爲這是對任何潛在的問題你要解決一個合適的解決方案(閱讀:讓我們知道這個根本問題,我們可能會拿出一個妥善的解決辦法),這裏的一些工具幫助調查是怎麼回事:

當您啓動tomcat的startup.bat用,進程(的startup.bat批處理文件)幾乎立即終止,並在一個單獨的進程啓動tomcat(通常打開一個單獨的命令行) 。如果啓動失敗,您可能會看到命令行短暫彈出,顯示錯誤消息,然後在您有機會看到錯誤消息之前消失。

通過執行catalina.bat run,您可以在前臺啓動tomcat(如果僅用於調試目的) - 這通常會保持命令行窗口打開並讓您有機會看到任何錯誤消息。

現在,通常要在後臺Tomcat的,而完全運行 - 這在Windows上是一種服務。 tomcat的操作方式是:可用並等待傳入​​(http)請求。通常在系統啓動時啓動它 - 查看如何將tomcat作爲服務運行。

編輯:您發佈錯誤消息後:你看到的,路徑有錯誤消息?找出路徑的構建位置。候選人是(按順序):

  • ,你已經改變了自己
  • 的Tomcat的bin/setenv.bat(如果存在)
+0

感謝很多的任何文件。我添加了我得到的錯誤的快照。當我運行'exec('C:\ apache-tomcat-8.0.21 \ bin \ startup.bat');'它打開帶有該錯誤的cmd(在快照中)並在第二秒關閉。 – Sirisha

+0

您是否看到我編輯的答案? –