Windows系统中Apache,PHP,MySQL服务器环境的安装和配置 - Apache - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > Apache

Windows系统中Apache,PHP,MySQL服务器环境的安装和配置

发布时间:2014-03-06 来源:服务器之家

Apache

1. 下载

Apache版本号为2.2.22. 最好下载msi安装文件。下载地址为:http://www.apache.org/dist/httpd/binaries/win32/

如果想下载2.4.4版本的,可以去http://www.anindya.com/apache-http-server-2-4-4-and-2-2-24-x86-32-bit-and-x64-64-bit-windows-installers/

2. 安装

一路Next安装即可。注意默认安装,其所配置的端口为80. 这与IIS和MSSQLServer的Reporting Services Configuration Manager工具的端口冲突。有2种方法解决

(1)修改Apache的端口。

打开Apache2.2confhttpd.conf,搜索“Listen 80”,将80修改为8080.

(2)关闭IIS服务器:

控制面板-管理工具-服务-World Wide Web Publishing Service,先停止后禁用

修改MSSQLServer的Reporting Services Configuration Manager工具的端口:

开始-Microsoft SQL Server 2008 R2-配置工具-Reporting Services 配置管理器-弹出对话框,点击连接 -点击Web服务URL-将TCP端口改为8082或别的端口,单击应用。

注意:

关闭IIS服务器后需要重启机器以释放80端口,因为IIS所在的服务进程svchost.exe不仅仅只包含IIS服务,还包含其他许多服务。关闭IIS服务,其所在svchost进程并不会关闭,所以80端口仍会被该进程占用。

最好修改Apache的安装路径,使其目录树中不含空格,这样在配置PHP时不容易出问题,否则配置httpd.conf时 ,如果里面包含空格,apache服务会启动失败。

3. 启动服务

apache安装成功后,默认会在控制面板Services中添加一个服务:apache2.2. 我们可以使用命令行来操纵启动关闭服务:

cmd.exe->cd apache根目录下的bin目录

(1)install service

httpd.exe -k install -n apache2.2

(2) uninstall service

httpd.exe -k uninstall -n apache2.2

(3) start service

net start apache2.2

(4) stop service

net stop apache2.2

配置

(1)现在开始配置Apache服务器,使它更好的替我们服务,事实上,如果不配置,你的安装目录下的Apache2.2htdocs文件夹就是网站的默认根目录,在里面放入文件就可以了。找到安装目录“C:Program Files (x86)Apache Software FoundationApache2.2conf”下的httpd.conf,找到DocumentRoot,将源目录“C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs”修改为新目录“C:/Program Files (x86)/Apache Software Foundation/wwwpages”。注意将反斜杠""改为正斜杠“/”。

(2)找到“DirectoryIndex”,DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开。我将默认值“index.html”改为了“mypage.html phpinfo.php”。

(3)寻找“# This should be changed to whatever you set DocumentRoot to.”内容下的“Directory”节点。将其值"C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" 改为修改后的网页根目录“C:/Program Files (x86)/Apache Software Foundation/wwwpages”。注意将反斜杠""改为正斜杠“/”。

(4)配置完毕。

PHP

1. 下载

下载PHP版本5.3.*,注意不要下载太新或太老的版本,以避免和Apache不能协同工作。下载.zip包,解压即可。下载地址为:http://windows.php.net/download/,选择下载 VC9 x86 Thread Safe版本。

2. 安装

(1)解压php-5.3.25-Win32-VC9-x86.zip,为配置方便,将其放于Apache的安装目录C:Program Files (x86)Apache Software Foundation中,修改目录名php-5.3.25-Win32-VC9-x86->php5.3.25.

(2)找到php5.3.3目录下的php.ini-development文件,将其重名为php.ini。

3. 配置

配置Apache服务器支持PHP文件的解析:

(1)打开C:Program Files (x86)Apache Software FoundationApache2.2confhttpd.conf文件,

查找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,在其后面添加如下代码, 注意,将路径中的反斜杠“”换成斜杠“/”.

LoadModule php5_module "C:/Program Files (x86)/Apache Software Foundation/php5.3.25/php5apache2_2.dll"
PHPIniDir "C:/Program Files (x86)/Apache Software Foundation/php5.3.25"

第一行是指以module方式加载php,第二行是指明php的配置文件php.ini的位置.

查找 AddType application/x-gzip .gz .tgz,在其后添加代码:

AddType application/x-httpd-php .php .html

这里是定义能够执行php文件类型,即.php和.html的文件能执行PHP程序。

注意这个地方:

添加的代码LoadModule前面,不要加“#”号,添加“#”是注释的意思

C:/Program Files (x86)/Apache Software Foundation/php5.3.25/php5apache2_2.dll中含有空格,一开始配置好后,启动Apache发现报告错误,错误指向的行正是该行。原因是“有空格的话Apache就会认为你在使用 LoadModule的时候用了>2个参数,而这个命令的参数只能是2个”。我这里对该参数添加了双引号,发现Apache能正常启动了。但为确保Apache正常工作,最好将PHP放置在一个不含空格的目录树中。

如果启动Apache失败,为了能够看到具体失败原因,最好使用命令行启动Apache:cmd.exe->apache根目录下的bin目录,执行 httpd.exe -w -k start。

php5apache.dll文件和 apache 的版本对应关系如下,可见"不要下载太新或太老的版本,以避免和Apache不能协同工作"很重要。

php5apache.dll 只适用于apache 版本1的;

php5apache2.dll 只适用于apache2.0.*版本;

php5apache2_2.dll适用于apache2.2.*以上版本;

以上,请参见 http://www.juziku.com/beston/wiki/1762.htm。

(2)打开php5.3.25文件夹下的php.ini文件,查找到extension_dir,复制路径"C:/Program Files (x86)/Apache Software Foundation/php5.3.25/ext",替换原来的"./",并且将该行前面的“;”去掉(分号是ini文件的注释)。注意,将路径中的反斜杠“”换成斜杠“/”.

(3) 重新启动Apache服务。

(4)在Apache网站根目录C:Program Files (x86)Apache Software FoundationApache2.2htdocs下创建一个 phpinfo.php 文件:

在浏览器中打开http://localhost:8080/phpinfo.php.

MySQL

1. 配置PHP先支持MySQL

(1)打开php5.3.25文件夹下的php.ini文件,查找到"extension=php_mysql.dll"和"extension=php_mysqli.dll"。去掉二者之前的";",此时的PHP已经支持MySQL了。

(2) 重启一下Apache,重新刷新一下http://localhost:8080/phpinfo.php。在网页中搜索"mysql",这时就可以看到页面中有mysql和mysqli模块被加载了。

2. 下载

下载MySQL版本5.1.51. 

3. 安装

注:转自“http://wenku.baidu.com/view/7b9bbdc1aa00b52acfc7ca5f.html”所列的安装步骤

(1)双击安装,选”Custom“安装方式,修改安装路径为Apache和PHP同一目录下:”C:Program Files (x86)Apache Software FoundationMySQL5.1.51“。

(2)注意:点击”MySQL Server“下的"MySQL Server datafiles", 请注意存放数据的目录,默认为:”C:ProgramDataMySQLMySQL Server 5.1“。我把它改到了E盘:"E:ProgramDataMySQLMySQL Server 5.1".

(3)将Developer Component选择上:点击Developer Components,选择"This feature,and all subfeatures,will be installed on local hard driver".

(4)开始安装,安装完成后,在最后一个页面中,保持”Configure the MySQL Server now“复选框的默认选中状态。在后面所出现的页面中,保持默认选择”Detailed Configuration“。下一个页面,选择服务器类型,有三个选项可供选择:“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,保持默认选择”Developer Machine“

(5)之后,选择数据库的用途,“Multifunctional Database(通用多功能型)”、“Transactional Database Only(服务器类型,专注于事务处理)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional)。保持默认选择。

(6)配置InnoDB Tablespace,为数据库文件选择一个存储空间,默认是MySQL的安装路径。如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,我在"E:ProgramDataMySQLMySQL Server 5.1"目录下创建了一个InnoDBData文件夹,将其路径修改为”E:ProgramDataMySQLMySQL Server 5.1InnoDBData“。

(7)配置mysql能同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,这里选“Decision Support(DSS)/OLAP”。

(8)是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器访问mysql数据库了。选择启用,并勾选"Add firewall exception for this port",支持防火墙。保持默认选择“Enable Strict Mode”,这样MySQL就不会允许细小的语法错误,它可以降低有害数据进入数据库的可能性。

(9)对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择“gbk”,使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。

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

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

(12)确认无误后,按“Execute”使设置生效。

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

(13)测试:写一文件“mysqltest.php”到“C:Program Files (x86)Apache Software FoundationApache2.2htdocs”目录下

<?php
$mycon=mysql_connect("localhost","root","你所设置的root账户的密码");
if($mycon) {
    echo "Connect Successfully!";
}
else {
    echo "Connect failed!";
}
?>

在浏览器中打开"http://localhost:8080/mysqltest.php"。若显示“Connect Successfully!”,表明配置成功。

*如果出现 

Warning: mysql_connect() [function.mysql-connect]: [2002] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试 (trying to connect via tcp://localhost:3306) in XXXmycon.php on line 2 
Warning: mysql_connect() [function.mysql-connect]: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 in E:apachehtdocsmycon.php on line 2  
需要修改C:WINDOWSsystem32driversetchosts文件。用记事本打开,修改 
#    127.0.0.1       localhost

将#去掉保存。如果无法修改,就拷到别的地方修改好后再粘贴过来。