/ 中存储网

Windows 2003系统安装配置Apache2.2和PHP5

2014-04-07 13:34:01 来源:itjs.cn
由于是初学者,对于让Apache如何支持PHP5缺乏全面的认识,所以难免会走弯路。

经过两次对2003下配置PHP5的失败让我总结了不少。

假定已经安装好了PHP5和Apache2.2,它们的安装方式这里就不再赘述了。先看

一,在Apache中PHP可以采用的工作方式。

答案是两种,一种是dll动态链接库模块工作方式,一种是CGI二进制工作方式。

二,存在的问题和情况。

无论是哪种工作方式,在我们对其进行配置之后都要重新启动Apache服务程序,但有的时候重启了也不能通过,这时候就需要重启动2003系统。

A. 虽然CGI的方式对httpd.conf文件所加入的代码比DLL方式多些,但配置起来却很简单

只需在文件尾加入:

ScriptAlias /php/ "f:/php/"

AddType application/x-httpd-php .php

Action application/x-httpd-php "php/php-cgi.exe"然后再设置权限即可。

注意,1,其中F:/PHP/代表PHP的安装路径,这个视自己的安装情况而相应改变。

2,注意大小写字母,和空格,这里的空格都不容忽视,语法比较严谨。

B.至于DLL方式,责首先要将PHP目录中的php.ini-dist文件复制到Apache目录如(x:Apache2.2)中,将文件更名为php.ini。

这时需要做以下步骤:

1,设置动态模块的加载路径,设置为 extension_dir="f:phpext"

2,设置PHP页的根目录,设置为 doc_root="f:phproot"

3,设置保存会话信息目录。设置为 session.save_path="f:/php/tmp"

4,设置错误信息提示,设置为 display_errors= off

5,设置CGI模式选项,这步也可以不设因为默认为前面带分号,如设置则为,cgi.force_redirect=0

6,保存修改。

7,在对httpd.conf文件加代码之前还须注意要把php5ts.dll复制到2003系统的system32路径下。

8,加入以下代码:

LoadModule php5_module "f:/php/php5apache2_2.dll"

AddType application/x-httpd-php .php

同样要注意空格的检查否则就不会通过。

但此时如果我们不修改权限的话,就会出现HTTP 403禁止访问错误的情况。

9,配置Apache的权限,在httpd.conf中找到Directory指令

<Director />

Options FollowSymlinks

Allowoverride None

Order deny,allow ============Order allow,deny

Deny from all =============>Allow from all

Satisfy all

</Directory>

如上改为箭头所指的内容即可。

------------------总结----------------------

我只用了做了两步然后测试就可以了。。。因为以前PHP在iis中已经可以使用的。。。。

一:找到:

# Dynamic Shared Object (DSO) Support

#

# To be able to use the functionality of a module which was built as a DSO you

# have to place corresponding `LoadModule' lines at this location so the

# directives contained in it are actually available _before_ they are used.

# Statically compiled modules (those listed by `httpd -l') do not need

# to be loaded here.

#

# Example:

# LoadModule foo_module modules/mod_foo.so

.

.

到最后一行,我的是:#LoadModule vhost_alias_module modules/mod_vhost_alias.so

加上一行:LoadModule php5_module "D:/Program Files/PHP5/php5apache2_2.dll"(地址为你PHP中dll地址.注意:地址中若有空格请用引号,没有空格可以不用引号)

二:找到

# If the AddEncoding directives above are commented-out, then you

# probably should define those extensions to indicate media types:

#

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

加上一行:AddType application/x-httpd-php .php

别忘记了配置权限:

<Director />

Options FollowSymlinks

Allowoverride None

Order deny,allow ============Order allow,deny

Deny from all =============>Allow from all

Satisfy all

</Directory>

这样我测试一下就OK了。。。。