2013-10-10 32 views
1

我完全知道PHP有一系列可用於向Windows操作系統的DOS bck端發出命令的功能,唉,根據我的經驗。這在完全獨立的情況下運行。使用PHP將命令泵入已經運行的CMD提示

我一直在研究將命令發佈到已經運行的命令提示符並打印出結果的方法。我目前的設置是如下:

的Windows Server 2008 R2(IIS,PHP5.5,MSSQL & MySQL服務器)

一個已經運行的命令提示符屏幕由以下初始化:

C:\Datalog\sys\dedi.exe -logfile=C:\inetpub\wwwroot\Syslog\ 

問題現在,是我所知道的功能,如: EXEC()系統()中繼()只在一個單獨的envrio運行命令市民明白。

爲什麼不用PHP開始執行? 這可以通過PHP和/或ajax解決方案來完成,但是會遇到的問題是,當從頁面導航離開頁面時執行將再次關閉&時,可能會導致重複的運行環境

所以,我的整體問題..是否有可能使用PHP發出命令到已經運行的命令提示符屏幕?這是由操作系統保持活着?

回答

1

簡短的回答是否定的,這是不可能的。 Web服務器將啓動獨立於任何其他shell的新進程。您可以寫在命令提示符下持續運行,並從Web應用程序來獲得指令需要IPC消息的命令行應用程序,但是這可能是太令人費解給您的主要關注:

,這將是問題遇到的是,從 頁面導航離開時的執行性將再次瀏覽到另一個頁面時關閉&, 可能導致重複運行環境

這些是可以通過其他方式來解決的擔憂。進程可以異步啓動,以便與Web應用程序分開運行,並在連接關閉時繼續。爲了防止「複製運行環境」,啓動的進程或Web應用程序可以使用信號量或其他技術來防止重複運行。

+0

有點恥辱,我不得不用高級權限運行..給予網絡服務器權限,以提升的權限運行,對我來說尖叫不安全,猜測它不得不說與登錄相同的過程'mstsc.exe' –

相關問題