服务器技术

 首页 > 服务器技术 > apache > Windows下Apache添加模块的方法|模块-Apache教程

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

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

"Windows下Apache添加模块的方法"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Apache/17988.html

分享到:
谈Apache与IIS的优劣|IIS-Apache教程
对于中小企业来说建立自己的网站,对外展示自己的页面是最平常不过的事情了。目前最流行的建立WWW服务工具就要属apache与IIS了。那么他们之间都有什么区别呢?到底哪个工具才是最适合我们的呢?今天就来讨论下这个问题。   一、免费与收费之争:    虽然很多用户都使用IIS建立网站,他是集成于Windows操作系统中的组件...
Apache出现大量的CLOSE_WAIT状态连接|FIN...
一台运行apache的Web服务器,前面有Squid,出现大量的CLOSE_WAIT连接,直接占满TCP队列,导致Apache失去响应。 一般来说,在一次正常的HTTP连接结束时,按正常的次序应该是服务器先发出FIN信号,客户端确认,然后客户端再发出FIN信号,服务端确认。如果客户端因为某种原因先于服务端发出了FIN信号,就会导致服务端被动关闭...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……