经过两次对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了。。。。