[英]Locate the path of an Apache server on windows
對於我正在編寫的 Windows 腳本,我需要檢測機器是否安裝了 Apache 2.2,並找到應用程序路徑。
我想出的一種解決方案是 wget http://localhost:8080/server-info並從中解析根和配置文件。 如果服務器不使用端口 8080,這將失敗
另一種選擇是調用“sc qc Apache2.2”並解析返回的字符串。 如果服務器沒有安裝為服務,或者使用不同的名稱,這將失敗。
有沒有更好的方法來做到這一點?
如果他們沒有使用安裝程序安裝它,就沒有很多好的選擇。 如果他們使用 MSI/安裝程序,您可以檢查注冊表:
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Apache\2.2.2\ServerRoot
HKEY_CURRENT_USER\SOFTWARE\Apache Software Foundation\Apache\2.2.2\ServerRoot
您還可以查看正在運行的進程列表:
WMIC PROCESS get Caption,Commandline,Processid
尋找合適的 EXE。 如果由於某種原因您需要端口號,則使用 netstat 並搜索適當的端口。
此外,當您說“Windows 腳本”時,我假設您使用的是現代且功能強大的東西,例如Windows Scripting Host (我最喜歡的)或PowerShell 。 甚至不要打擾批處理文件。
我記得,Apache 編寫了一些注冊表項。 如果您知道如何從腳本中讀取它們,那可能會有所幫助。
桌面
無法在服務器上找到路徑。
嘗試將 index.php 放在幫助台安裝的站點 url 之后,或者如果您使用的是 apache,請確保啟用了 mode_rewrite 模塊並將文檔根目錄的 AllowOverride 指令設置為服務器配置文件中的 All/FileInfo。 [enter code here][1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.