2011-11-17 85 views
0

問題是如何給命令行(在.cmd腳本中)執行瀏覽器,然後又有瀏覽器執行.php腳本。如何給命令行運行瀏覽器,然後運行php腳本

目前,如果從命令窗口,我執行比如......

「C:\ Program Files文件\的Internet Explorer \ IEXPLORE.EXE」 的文件:\ C:\用戶\ win7ultsdtest \ findroot.php .. ..OR .... C:\ Program Files \ Internet Explorer \ iexplore c:\ users \ win7ultsdtest \ findroot.php

這會運行資源管理器瀏覽器,但瀏覽器會在瀏覽器中下載內容findroot.php而不是執行php代碼,因爲我需要。有誰知道如何讓瀏覽器改爲執行php代碼,而不是將它下載爲數據?

讓我解釋一下我的需求... findroot.php文件包含用於訪問$ _SERVER ['DOCUMENT_ROOT']變量的php代碼。當localhost運行一個http服務器時,這個變量是非空的,然後它包含localhost文檔服務器根路徑,其中可加載的瀏覽器.html,.php等可以存儲爲從http:\行加載。

findroot.php將$ _SERVER ['DOCUMENT_ROOT']的內容作爲rootpath.txt輸出到文件中,以便我的.cmd腳本可以自動將PHP代碼安裝到活動的PHP服務器文檔根區域。

因此,理解我必須從.cmd腳本中找到$ _SERVER ['DOCUMENT_ROOT']。 現在我可以搜索httpd.conf的所有計算機驅動器,然後掃描該文件的值,但這不起作用的原因有兩個: 1.可以有多個httpd.conf文件,我不知道哪個服務器處於活動狀態並使用了httpd.conf。 2.在所有httpd.conf文件中搜索給定計算機的整個驅動器需要很長時間。

+0

你需要一個web服務器來執行你的php頁面 - 你的瀏覽器不知道如何處理php,因爲它是服務器端腳本。 – Filburt

回答

1

瀏覽器將不執行PHP代碼。您需要一臺服務器來運行PHP並通過HTTP訪問它,例如C:\Program Files\Internet Explorer\iexplore http://localhost/url/for/findroot.php,或者您可以通過命令行c:\path\to\php.exe c:\users\win7ultsdtest\findroot.php運行PHP。但是,通過命令行運行它不會給你$ _SERVER ['DOCUMENT_ROOT'],因爲只有在服務器中運行PHP時纔會填充它。

如果沒有服務器在事先知道PHP的情況下通過HTTP服務器執行PHP是不可能的 - 例如通過處於文檔根目錄。當然,如果你不知道文檔根目錄,你的腳本就不會在那裏。如果您正在嘗試將腳本安裝到用戶的Web服務器中,那麼最好指導如何這樣做,因爲他們的服務器環境可能會與您期望的不同。

+0

謝謝,很遺憾,我們無法完全自動化一個示例,因爲我們無法從.cmd腳本確定DOCUMENT ROOT的位置。我們有PHP5 TestCoverage和Timing Profiling Utilities,它們的功能非常好,我們現在試圖通過添加一個很好的示例來儘可能地使它們變得用戶友好。我們希望提供一個.cmd腳本示例,該腳本需要一些PHP源代碼,樂器拷貝和樂器源代碼,運行PHP並顯示GUI和XML報告。此外,我們的儀器工作方式,它必須有一個文件夾下的文件夾來運行它的PHP代碼。 –