Windows Apache2.2.11及Php5.2.9-1的安装与配置方法


Posted in PHP onJune 08, 2009

因为pharmar用的是Mcafee的杀毒软件,要求所有程序均要安装于Program Files,所以这些文件均放于D:\Program Files下便于管理。Mcafee写防护规则时好运用。
 Apache的安装与配置

打开apache官方网站 http://archive.apache.org/dist/httpd/binaries/win32/ 或者镜像网站 http://apache.mirror.phpchina.com/httpd/binaries/win32/,下载里面的apache_2.2.11-win32-x86-no_ssl.msi安装文件。其中,同一版本有两种类型:no_ssl和openssl,openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,这就是带有SSL的服务器与一般网页服务器的区别了。一般情况下,我们下载no_ssl版本的就ok了。

下载好apache安装文件后,点击安装,在连续3次next后,将进入server information配置界面,要求输入network domain、server domain和网站管理员的邮箱地址,普通用户可以随便按照格式填一下就行了。再次按Next后,出现选择安装路径的界面,默认的路径比较长,pharmar把安装路径修改为:“D:\Program Files\Apache\”,继续安装,直到完成。

安装完毕,apache就自动启动,可以测试apache是否成功启动。在浏览器地址栏里输入:http://localhost/或http://127.0.0.1/,如果出现“It works.”,那么恭喜你,apache已经成功安装了;同时在电脑右下角的任务栏里有一个绿色的apache服务器运行图标。

apache还有一个配置文件:httpd:conf 需要配置,以便php运行。位置为:D:\Program Files\Apache\conf目录里。打开httpd:conf:
1)、查找“DocumentRoot”,这里是指定主页放置的目录。默认是:“D:\Program Files\Apache\htdocs”,你可以使用默认的目录,也可以自己定义一个,如:“D:/PHP”。注意:目录末尾不要加“/”。
2)、查找“DirectoryIndex”,这里是默认首页文件名,可以在index.html 的后面加入index.php等。每种类型之间都要留一个空格。
3)、查找
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
修改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
如果不改这里的话,可能会出现 You don't have permission to access / on this server. 这样的错误提示,尤其在改变了默认主页的路径后。

注意:每次修改httpd:conf文件后,都要重启apache服务器。另外,如果你的win32系统上同时也运行iis服务器,那么就要先停止iis服务器的运行,然后再启动apache,否则apache服务器无法启动。

Php的安装与配置方法

首先从php的官方网站http://www.php.net/downloads.php 下载windows版本的,有两种版本:PHP 5.2.9 zip package和PHP 5.2.9 installer,目前最新版本就是5.3.0,pharmar使用的是5.2.9版本。PHP 5.2.9 installer为自动安装方式,虽然比较自动化,但在很多方面受到限制,因此pharmar不推荐使用这种方式,下面介绍PHP 5.2.9 zip package压缩包方式下的手动安装。

1)、将PHP的压缩包zip解压到一个目录下,推荐:“C:/PHP”,pharmar的是D:\Program Files\Php。
2)、将PHP目录(D:\Program Files\Php)下的 php.ini-dist 文件重命名为 php.ini,PHP的配置文件就是它,修改以下几个地方,修改好后把 php.ini 文件复制到 C:\WINDOWS\ 目录里:
extension_dir="D:\Program Files\Php\ext" ,指向php文件夹下放置“php_*.dll”文件的路径。PHP4和PHP5的路径在这里有所区别。
doc_root="D:\PHP" ,指向前面apache设置的首页位置;
default_charset="gb2312" ,修改默认字符集,这里,如果前面有分号“;”,去掉这个分号;
register_globals=Off 改为 register_globals=On ,使传递全局变量有效;
extension=php_dba.dll 如果前面有分号,取消分号,以下同;
extension=php_dbase.dll
extension=php_gd2.dll GD库做图,一般用于图形验证码;
extension=php_mysql.dll 用于连接MYSQL数据库;
3)、将PHP目录下的 php5ts.dll 文件拷贝到 C:\WINDOWS\system32 目录。
4)、最后修改 Apache 的 httpd.conf 文件。在该文件的末尾添加如下2行,表示以模块方式安装PHP进入Apache:
LoadModule php5_module D:/Program Files/Php/php5apache2_2.dll
AddType application/x-httpd-php .php

注意:第一行的目录路径要更新为当前版本的apache动态链接库,比如这里我使用的是apache2.2.11版本和php5.2.9,那这个文件必须是php5apache2_2.dll,而不能是php5apache.dll、php5apache2.dll等。第二行为php脚步的后缀。
php4版中,需要添加一行 AddType mod_php4.c,而在php5中,就不需要这样的一行 AddType mod_php5.c了,php5已经集成,否则 apache 启动不了。

以上就完成了apache和php的配置过程了,重启apache。在服务器的默认目录“D:\Program Files\Apache\htdocs”里新建文件index.php,写上如下代码:
<?php
phpinfo();
?>
在浏览器地址栏里输入 http://127.0.0.1/ 或 http://localhost/ ,你就会看到php版本信息了。到此为止,php和apache就已经成功的安装了。

这里有个细节:apache的配置文件 httpd.conf 中的目录分割符号是“/”,而 PHP 的配置文件 php.ini 里的目录则要求是反斜线 “ \”,不要搞混了哦。

MYSQL的安装就简单了。到官方网站 http://dev.mysql.com/downloads/mysql/5.0.html,下载windows平台下的 mysql ,选择 Windows ZIP/Setup.EXE (x86) 最新版本是 5.0.77 ,下载即可。直接安装,安装完成后,可以进入配置向导,设置mysql数据库密码。一切OK。
关于mysql的安装与配置见:phpMyAdmin安装配置方法和问题解决

pharmar安装过程中遇到的错误:
在 Windows 下安装 PHP 后 Apache 出现 LoadModule takes two arguments 的错误,这个主要原因就是httpd.conf中的这句:
LoadModule php5_module D:\Program Files\PHP\php5apache2_2.dll
解释程序把Program Files中的空格当成了两个参数的分隔符号,因此语句中不能出现空格。在网上找了半天也没找到解决方法,最后用一级目录符号才解决问题,改成如下:
LoadModule php5_module ../php/php5apache2_2.dll
因为apache安装在D:\Program Files\Apache\目录下,PHP安装在D:\Program Files\php\,因此../就表示D:\Program Files\目录,这个终于搞定了,希望大家在安装与配置过程中多动动脑筋总会有办法的。

PHP 相关文章推荐
强烈推荐:php.ini中文版(2)
Oct 09 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
PHP 文本文章分页代码 按标记或长度(不涉及数据库)
Jun 07 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
PHPExcel笔记, mpdf导出
May 03 PHP
关于php中一些字符串总结
May 05 PHP
php中strtotime函数性能分析
Nov 20 PHP
Zend Framework处理Json数据方法详解
Dec 09 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
Windows IIS PHP 5.2 安装与配置方法
Jun 08 #PHP
PHP 组件化编程技巧
Jun 06 #PHP
PHP加速 eAccelerator配置和使用指南
Jun 05 #PHP
php 更新数据库中断的解决方法
Jun 05 #PHP
php split汉字
Jun 05 #PHP
phpinfo 系统查看参数函数代码
Jun 05 #PHP
PHP 字符串 小常识
Jun 05 #PHP
You might like
?繁体转换的class
2006/10/09 PHP
用php实现选择排序的解决方法
2013/05/04 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python中格式化format()方法详解
2017/04/01 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
python面向对象 反射原理解析
2019/08/12 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
什么是Python变量作用域
2020/06/03 Python
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
小学生元旦感言
2014/02/26 职场文书
中班开学寄语
2014/04/04 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书