在 Xampp 中(重新)啟動 Apache 作為服務時出現問題

在 Xampp 中(重新)啟動 Apache 作為服務時出現問題

您好,
更改 httpd.conf 後,我想在 Xampp 中重新啟動 Apache 作為服務。我按照尼爾森的建議首先將其刪除:

sc delete apache2.2

當我在 xampp 控制面板上檢查 svc 時,服務顯然重新啟動,即我可以使用上述命令再次成功刪除它,但在 Xampp 控制面板上它顯示“已停止”(灰色背景上的灰色)。點擊“開始”不會改變任何事情,但我收到一條訊息“Apache 服務已啟動”。
在 httpd.conf 中,我更改了 DocumentRoot,但 Apache 似乎沒有看到這些更改,儘管它似乎正在運行。至少我得到了 http://localhost 的頁面,但不是新 DocumentRoot 引用的頁面。
知道這裡出了什麼問題嗎?
蒂亞
史蒂文

編輯
當我嘗試使用服務控制台啟動 Apache 時,出現錯誤「Windows 無法在本機電腦上啟動 Apache2.2,patatee,patata...」。錯誤日誌提到事件 3299。

答案1

「sc delete」刪除一個Windows服務,即該服務不再存在且無法啟動、停止等。在重新安裝 Apache 或使用 sc 指令重新建立服務之前,不會重新建立該服務。從命令列重新啟動服務的正確方法是:

net stop apache2.2
net start apache2.2

(令人煩惱的是沒有「網路重新啟動」選項)。

如果您使用“net start apache2.2”,它會傳回錯誤嗎?如果您收到錯誤“服務名稱無效。”那你需要重新創建服務。我不知道如何立即執行此操作,但它應該很簡單。

JR

發生服務特定錯誤:1

這表示Apache服務已經安裝,但是Apache啟動時報錯。可能是設定檔有問題。通常的策略是嘗試將 Apache 作為應用程式運行,這樣您就可以看到它產生的任何錯誤訊息。看http://httpd.apache.org/docs/2.2/platform/windows.html#wincons有關將 Apache 作為應用程式運行的內容。

答案2

我從未使用過 XAMPP 的控制面板。但當我上次使用 XAMPP 時,我最終發現重新啟動 Apache 的最簡單方法是透過 Window 的常規服務控制台。

答案3

我知道這並不能直接回答你的問題,但我建議手動安裝 apache/php/perl/mysql 。這將使您能夠:

  • 了解這些組件是如何連結的
  • 根據需要更改組件版本(某些項目可能需要不同的版本)
  • 在控制台中啟動這些組件 - 這將幫助您更好地調試和控制
  • 您可以為不同的專案進行多個安裝 - 這樣就可以輕鬆地丟棄一個安裝並重新建置它,而不會影響其他項目

像 XAMPP 這樣的工具非常適合快速安裝;但它們也並非沒有缺點。雖然整合的承諾很有吸引力,但大多數時候您必須手動完成 - 這是一種更強大的方法。

如果您需要搞亂 Windows 服務,我推薦這個很棒的免費工具:Windows Service Commander。

答案4

您也可以直接透過 apache 執行檔重新啟動 apache 服務,並且有一個 -k 重新載入/重新啟動選項。

apache2.exe -k restart -n "apache服務名稱"

IIrc。

相關內容