秀米云香港服务器

Apache的许多外挂功能是通过模块实现的,比如php、subversion等,安装这些功能时就需要向Apache中添加模块。看似很简单,向httpd.conf 中添加下面这一行(以php为例):

LoadModulephp5_module"php-5.1.2/php5apache2.dll"

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

但是试图重新启动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 FilesApache GroupApache2bin)和系统的 %PATH%变量中寻找dll。所以最简单的方法就是将模块所需的 dll 文件复制到 Apache.exe所在目录下,或者复制到 C:Windowssystem32 下。这样Apache就可以正常加载该模块了。

另外一个方法就是修改%PATH%环境变量,使之包含模块所需dll所在的目录。在上面的例子里,假设php安装在 C:php下,那么向 %PATH% 中添加C:php,Apache即可正常加载php模块了。但是,如果你的Apache是通过系统服务启动的话,那么修改完环境变量之后必须重新启动计算机才能正常启动Apache服务。

标题:Windows系统添加Apache模块的方法

地址: https://www.yunhk.xyz/26464.html