Windows下Apache添加模塊的方法
Apache的許多外掛功能是通過模塊實現的,比如php、subversion等,安裝這些功能時就需要向Apache中添加模塊。看似很簡單,向 httpd.conf 中添加下面這一行(以php為例):
LoadModule php5_module "php-5.1.2/php5apache2.dll"
但是試圖重新啟動Apache時卻往往不能成功。在事件查看器中可以看到,Apache無法找到指定的模塊(php-5.1.2/php5apache2.dll)。可是明明這個文件好好地在那里,為什么?
原來是系統找不到該模塊所需的 dll 文件,而造成啟動失敗,Apache在報告錯誤時簡單地報告為模塊找不到。
那么如何判斷該模塊需要哪些dll才能執行?一般來說,模塊所需的dll都飽含在該模塊的軟件包中,例如上述 php5apache2.dll 所需的 php5ts.dll 就包含在php的發行包中,并與php5apache2.dll位于同一目錄下。如果你安裝了 Microsoft Visual C++ 6.0,其中附帶的一個工具Dependency Walker可以精確地告訴你模塊需要什么 dll。用Dependency Walker打開php5apache2.dll,可以看到該模塊需要以下的 dll:php5ts.dll,libhttpd.dll,libapr.dll,libaprutil.dll,msvcrt.dll,kernel32.dll。其中 msvcrt.dll 和 kernel32.dll 是系統文件,libxxx.dll 是 apache 自帶的 dll 文件。
確定了模塊需要哪些dll之后,下一步就是讓系統找到這些dll。Apache啟動時,它會在Apache.exe所在目錄(一般是 C:\Program Files\Apache Group\Apache2\bin)和系統的 %PATH% 變量中尋找dll。所以最簡單的方法就是將模塊所需的 dll 文件復制到 Apache.exe 所在目錄下,或者復制到 C:\Windows\system32 下。這樣Apache就可以正常加載該模塊了。
另外一個方法就是修改%PATH%環境變量,使之包含模塊所需dll所在的目錄。在上面的例子里,假設php安裝在 C:\php 下,那么向 %PATH% 中添加 C:\php,Apache即可正常加載php模塊了。但是,如果你的Apache是通過系統服務啟動的話,那么修改完環境變量之后必須重新啟動計算機才能正常啟動Apache服務
關鍵字:Windows Apache 添加 模塊
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解