Apache+php+mysql在windows下的安装与配置图解(最新版)


Posted in PHP onNovember 30, 2008

先准备好软件:

Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi更多版本在这里

php官方下载地址:php-5.0.5-Win32.zip更多镜像下载地址更多版本下载

mysql官方下载地址:mysql-4.1.14-win32.zip更多镜像下载地址更多版本下载

一、安装Apache,配置成功一个普通网站服务器

运行下载好的“apache_2.0.55-win32-x86-no_ssl.msi”,出现如下界面:

Apache+php+mysql在windows下的安装与配置图解(最新版)

出现Apache HTTP Server 2.0.55的安装向导界面,点“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

设置系统信息,在Network Domain下填入您的域名(比如:goodwaiter.com),在Server Name下填入您的服务器名称(比如:www.goodwaiter.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:yinpeng@xinhuanet.com),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。一般选择如图所示。按“Next”继续。]

Apache+php+mysql在windows下的安装与配置图解(最新版)

选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。按“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change...”,手动指定安装目录。

Apache+php+mysql在windows下的安装与配置图解(最新版)

我这里选择安装在“D:\”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。选“OK”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

返回刚才的界面,选“Next”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。点“Install”开始按前面设定的安装选项安装。

Apache+php+mysql在windows下的安装与配置图解(最新版)

正在安装界面,请耐心等待,直到出现下面的画面。

Apache+php+mysql在windows下的安装与配置图解(最新版)

安装向导成功完成,这时右下角状态栏应该出现了下面的这个绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装

Apache+php+mysql在windows下的安装与配置图解(最新版)

我们来熟悉一下这个图标,很方便的,在图标上左键单击,出现如下界面,有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。

Apache+php+mysql在windows下的安装与配置图解(最新版)

好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打“http://127.0.0.1”,点“转到”,就可以看到如下页面,表示Apache服务器已安装成功。

Apache+php+mysql在windows下的安装与配置图解(最新版)

现在开始配置Apache服务器,使它更好的替我们服务,事实上,如果不配置,你的安装目录下的Apache2\htdocs文件夹就是网站的默认根目录,在里面放入文件就可以了。这里我们还是要配置一下,有什么问题或修改,配置始终是要会的,如图所示,“开始”、“所有程序”、“Apache HTTP Server 2.0.55”、“Configure Apache Server”、“Edit the Apache httpd conf Configuration file”,点击打开。

Apache+php+mysql在windows下的安装与配置图解(最新版)

XP的记事本有了些小变化,很实用的一个功能就是可以看到文件内容的行、列位置,按下图所示,点“查看”,勾选“状态栏”,界面右下角就多了个标记,“Ln 78, Col 10”就表示“行 78,列 10”,这样可以迅速的在文件中定位,方便解说。当然,你也可以通过“编辑”,“查找”输入关键字来快速定位。每次配置文件的改变,保存后,必须在 Apache服务器重启动后生效,可以用前面讲的小图标方便的控制服务器随时“重启动”。

Apache+php+mysql在windows下的安装与配置图解(最新版)

现在正式开始配置Apache服务器,“Ln 228”,或者查找关键字“DocumentRoot”(也就是网站根目录),找到如下图所示地方,然后将""内的地址改成你的网站根目录,地址格式请照图上的写,主要是一般文件地址的“\”在Apache里要改成“/”。

Apache+php+mysql在windows下的安装与配置图解(最新版)

“Ln 253”,同样,你也可以通过查找“

Apache+php+mysql在windows下的安装与配置图解(最新版)

“Ln321”,DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如有些网站的首页是index.htm,就在光标那里加上“index.htm ”文件名是任意的,不一定非得“index.html”,比如“test.php”等,都可以。

Apache+php+mysql在windows下的安装与配置图解(最新版)

这里有一个选择配置选项,以前可能要配置,现在好像修正过来了,不用配置了,就是强制所有输出文件的语言编码,html文件里有语言标记(,这个就是设定文档语言为gb2312)的也会强制转换。如果打开的网页出现乱码,请先检查网页内有没有上述 html语言标记,如果没有,添加上去就能正常显示了。把“# DefaultLanguage nl”前面的“# ”去掉,把“nl”改成你要强制输出的语言,中文是“zh-cn”,保存,关闭。

Apache+php+mysql在windows下的安装与配置图解(最新版)

好了,简单的Apache配置就到此结束了,现在利用先前的小图标重启动,所有的配置就生效了,你的网站就成了一个网站服务器,如果你加载了防火墙,请打开80或8080端口,或者允许Apache程序访问网络,否则别人不能访问。如果你有公网IP(一般ADSL或电话拨号上网的都是),就可以邀请所有能上网的朋友访问使用http://你的IP地址(IP地址查询可访问http://www.goodwaiter.com,查询内容内即是)你的网站了;如果你没有公网IP,也可以把内网IP地址告诉局域网内的其它用户,让他们通过http://你的内网IP地址,访问你的网站。

 

二、php的安装、以module方式,将php与apache结合使你的网站服务器支持php服务器脚本程序

将下载的php安装文件php-5.0.5-Win32.zip右键解压缩。

Apache+php+mysql在windows下的安装与配置图解(最新版)

指定解压缩的位置,我的设定在“D:\php”

Apache+php+mysql在windows下的安装与配置图解(最新版)

查看解压缩后的文件夹内容,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑,找到下面图中的地方, Ln385,有一个“register_globals = Off”值,这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“Off”,就只能用“$_POST['变量名']、$_GET['变量名 ']”等来取得送过来的值,如果设为“On”,就可以直接使用“$变量名”来获取送过来的值,当然,设为“Off”就比较安全,不会让人轻易将网页间传送的数据截取。这个值是否改成“On”就看自己感觉了,是安全重要还是方便重要?

Apache+php+mysql在windows下的安装与配置图解(最新版)

这里还有一个地方要编辑,功能就是使php能够直接调用其它模块,比如访问mysql,如下图所示,Ln563,选择要加载的模块,去掉前面的 “;”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,不过也多不到哪去,比如我要用mysql,就要把“;extension= php_mysql.dll”前的“;”去掉。所有的模块文件都放在php解压缩目录的“ext”之下,我这里的截图是把所有能加载的模块都加载上去了,前面的“;”没去掉的,是因为“ext”目录下默认没有此模块,加载会提示找不到文件而出错。这里只是参考,一般不需要加载这么多,需要的加载上就可以了,编辑好后保存,关闭。

Apache+php+mysql在windows下的安装与配置图解(最新版)

如果上一步加载了其它模块,就要指明模块的位置,否则重启Apache的时候会提示“找不到指定模块”的错误,这里介绍一种最简单的方法,直接将php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\php;D:\php\ext”加到原有值的后面,当然,其中的“D:\php” 是我的安装目录,你要将它改为自己的php安装目录,如下图所示,全部确定。系统路径添加好后要重启电脑才能生效,可以现在重启,也可以在所有软件安装或配置好后重启。

Apache+php+mysql在windows下的安装与配置图解(最新版)

现在开始将php以module方式与Apache相结合,使php融入Apache,照先前的方法打开Apache的配置文件,Ln 173,找到这里,添加进如图所示选中的两行,第一行“LoadModule php5_module D:/php/php5apache2.dll”是指以module方式加载php,第二行“PHPIniDir "D:/php"”是指明php的配置文件php.ini的位置,是当然,其中的“D:/php”要改成你先前选择的php解压缩的目录。

Apache+php+mysql在windows下的安装与配置图解(最新版)

还是Apache的配置文件,Ln 757,加入“AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”两行,你也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。

Apache+php+mysql在windows下的安装与配置图解(最新版)

前面所说的目录默认索引文件也可以改一下,因为现在加了php,有些文件就直接存为.php了,我们也可以把“index.php”设为默认索引文件,优先顺序就自己排了,我的是放在第一位。编辑完成,保存,关闭。

Apache+php+mysql在windows下的安装与配置图解(最新版)

现在,php的安装,与Apache的结合已经全部完成,用屏幕右下角的小图标重启Apache,你的Apache服务器就支持了php。

 

三、mysql的安装,与php、Apache相结合

打开下载的mysql安装文件mysql-4.1.14-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面

Apache+php+mysql在windows下的安装与配置图解(最新版)

mysql安装向导启动,按“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程

Apache+php+mysql在windows下的安装与配置图解(最新版)

在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change...”,手动指定安装目录。

Apache+php+mysql在windows下的安装与配置图解(最新版)

填上安装目录,我的是“D:\mysql”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

返回刚才的界面,按“Next”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。

Apache+php+mysql在windows下的安装与配置图解(最新版)

正在安装中,请稍候,直到出现下面的界面

Apache+php+mysql在windows下的安装与配置图解(最新版)

这里是询问你是否要注册一个mysql.com的账号,或是使用已有的账号登陆mysql.com,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。

Apache+php+mysql在windows下的安装与配置图解(最新版)

现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。

Apache+php+mysql在windows下的安装与配置图解(最新版)

mysql配置向导启动界面,按“Next”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。

Apache+php+mysql在windows下的安装与配置图解(最新版)

选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。

Apache+php+mysql在windows下的安装与配置图解(最新版)

选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,按“Next”继续

Apache+php+mysql在windows下的安装与配置图解(最新版)

这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。

Apache+php+mysql在windows下的安装与配置图解(最新版)

确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。

Apache+php+mysql在windows下的安装与配置图解(最新版)

设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。

与Apache及php相结合,前面已提过,这里再说一下,在php安装目录下,找到先前重命名并编辑过的 php.ini,如下图所示,Ln563,把“;extension=php_mysql.dll”前的“;”去掉,加载mysql模块。保存,关闭后,重启apache就可以了。这里也可以选择其它要加载的模块,去掉前面的“;”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,不过也多不到哪去。所有的模块文件都放在php解压缩目录的“ext”之下,我这里的截图是把所有能加载的模块都加载上去了,前面的“;”没去掉的,是因为“ext” 目录下默认没有此模块,加载会提示找不到文件而出错。这里只是参考,一般不需要加载这么多,需要的加载上就可以了,编辑好后保存,关闭。

Apache+php+mysql在windows下的安装与配置图解(最新版)

同样,加载了模块后,就要指明模块的位置,否则重启Apache的时候会提示“找不到指定模块”的错误,这里介绍一种最简单的方法,直接将 php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\php;D:\php\ext”加到原有值的后面,当然,其中的“D:\php”是我的安装目录,你要将它改为自己的php安装目录,如下图所示,全部确定。系统路径添加好后要重启电脑才能生效,可以现在重启,也可以在所有软件安装或配置好后重启。

Apache+php+mysql在windows下的安装与配置图解(最新版)
PHP 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
php访问查询mysql数据的三种方法
Oct 09 PHP
php 静态化实现代码
Mar 20 PHP
PHP 简单日历实现代码
Oct 28 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
PHP获取网站中各文章的第一张图片的代码示例
May 20 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 PHP
discuz论坛 用户登录 后台程序代码
Nov 27 #PHP
php 移除数组重复元素的一点说明
Nov 27 #PHP
PHP 遍历XP文件夹下所有文件
Nov 27 #PHP
cmd下运行php脚本
Nov 25 #PHP
PHPMailer安装方法及简单实例
Nov 25 #PHP
php miniBB中文乱码问题解决方法
Nov 25 #PHP
php AJAX实例根据邮编自动完成地址信息
Nov 23 #PHP
You might like
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
理想高通滤波实现Python opencv示例
2019/01/30 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
python 实用工具状态机transitions
2020/11/21 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
秘书英文求职信范文
2014/01/31 职场文书
给老婆的婚前保证书
2014/02/01 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
MySQL笔记 —SQL运算符
2022/01/18 MySQL
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS