2012-09-18 65 views
3

我在Windows XP上執行一個PHP腳本作爲CGI腳本,Web服務器是Apache 2.2,使用phtmlenc()加密。這是在執行期間打開一個空白的DOS提示符(cmd.exe窗口)。爲什麼PHP exec()命令啓動DOS窗口?我可以隱藏這個嗎?

此測試腳本test.php的我已經把cgi-bin目錄裏我的腳本:

#! C:/PHP/bin 
exec(WHOAMI); 

當我鍵入localhost/cgi-bin/test.php 推出通過Internet Explorer的腳本,我可以看到DOS窗口彈出。

  1. 我可以通過更改Apache配置或PHP 配置來禁止此操作嗎?
  2. 原始腳本使用phtmldec()加密的,因此我不能改變實際exec()呼叫
  3. 我可以編輯PHP把一些標題隱藏或抑制DOS窗口?

回答

1

您不能隱藏窗口,因爲這是在操作系統的控制下,而不是PHP或Apache。而且由於whoami是一個控制檯應用程序,它在運行時會創建一個控制檯。

順便說一下,'WHOAMI'應該在引號中。

+0

謝謝瓊,但我有一個觀察,我看到控制檯窗口只有當我運行這個PHP作爲CGI腳本,當我加載PHP安裝爲Apache模塊並執行正常的PHP(沒有頭我有在我的代碼中給出)窗戶是看不到的。 – user1249555

+0

只是爲了給一個更大的圖片我必須保持這個PHP 4.3.9安裝分開,因爲phtmldec.dll(解密)只與php.4.3.9 – user1249555

+0

兼容在遷移之前我有PHP 4.3.9和apache編譯與VC 6也沒有dos窗口,但現在我不得不遷移PHP 5和Apache 2.2編譯與VC 10,我看到我的DLL不工作,所以我不得不保持PHP4.3.9也運行PHP腳本下,作爲CGI – user1249555

相關問題