我如何知道哪些 Apache 模組可供我使用?

我如何知道哪些 Apache 模組可供我使用?

我目前正在閱讀《Apache mod_rewrite 權威指南》,整本書中提到了其他 Apache 模組,它們是給定場景中更好的替代方案。

這讓我想知道我的網站上安裝了哪些內容。我無法透過 SSH 存取伺服器,也無法存取任何設定檔(據我所知)。

有什麼方法可以讓我確定安裝了什麼,還是我必須直接詢問我的主機?我想某些命令可以在 PHP 中運行(即使用反引號),但我不確定它的限制是什麼。

答案1

有一種外部方法,但需要知道它是否已打開以及是否已安裝。

phpinfo()函數可能會告訴您有關 Apache 的一些信息,但主要是有關 PHP 的信息。如果您可以透過 Web 伺服器執行命令,請執行

httpd -t -D DUMP_MODULES

可能有用,但我不會指望它。

此外,某些模組可能會在伺服器回應中包含數據,即使它們目前未使用。看http://www.netcraft.com/whats舉個此類事情的例子。我的伺服器目前報告:

Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.9-dev DAV/2 PHP/5.2.11 Phusion_Passenger/2.2.9

這似乎是準確的,這提醒我,我需要刪除 PHP 部分。

答案2

您有權限存取嗎.htaccess?我認為是這樣,否則你無法控製網頁伺服器,也無法用它做任何事情,所以你知道你擁有哪些模組是沒有意義的。

如果是這樣,您可以<IfModule>在檔案中新增各種指令.htaccess來執行某些操作(例如拒絕存取某個檔案)。然後您可以嘗試存取該文件。如果您可以存取該文件,則表示該模組不可用。

答案3

這不是一個程序化的答案。

如果可以的話,直接詢問主機管理員。

您可以嘗試要求管理員啟動 mod_info apache 模組並設定主 httpd.conf 伺服器檔案(並指向受限的 URI 以確保安全),以便您可以使用 Web 瀏覽器輕鬆取得完整的設定資訊。

您可以要求主機管理員執行另一個使用者在上面提供的 httpd 命令並向您發送輸出。

相關內容