首页 > Apache, Mysql, PHP, 建站教程 > PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程

PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程

2010年4月22日 阅读数:6,950 views

  这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境,暂且不使用PHP环境搭建软件了,在此详细图解在Windows 7下安装配置PHP+Apache+Mysql环境的教程,希望对PHP初学者有所帮助。

  在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包。

  PHP版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC6 是为了其他WEB服务软件提供的,如 Apache。我下载的是ZIP包,下载地址

  Mysql版本:mysql-essential-5.1.45-win32,即MySQL Community Server 5.1.45,下载地址

  Apache版本:httpd-2.2.15-win32-x86-openssl-0.9.8m-r2,openssl表示带有openssl模块,利用openssl可给Apache配置SSL安全链接。下载地址

PHP环境搭建第一步:Windows 7下安装Apache服务。

Apache配置信息

Apache配置信息


  在这里主要配置Network Domain、Server Name、Email地址以及Apache服务的占用端口,默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录。

  在完成apache服务的安装后,在游览器中输入http://localhost/,出现It’s work!字样,说明Apache服务安装成功了。

PHP环境搭建第二步:Windows 7下安装Mysql服务。

安装Mysql数据库并选择安装目录

安装Mysql数据库并选择安装目录


  点击Mysql安装程序自动安装,在此期间你可以根据需要选择Mysql数据库的安装目录,我一律都是用默认目录。

  注意:在安装完Mysql数据库后,需要再进行Mysql数据库配置才能使用PHP进行连接,稍后会提到如何配置。

  PHP环境搭建第三步:在Windows 7下安装PHP。

  其实在Windows 7下进行PHP安装非常简单,由于我下的是PHP代码包,只要解压php-5.3.2-Win32-VC6-x86并重名为文件夹为php,将其复制到C盘目录下即可完成PHP安装。

  PHP环境搭建第四步:在Windows 7下如何进行PHP配置环境。

  PHP环境在Windows 7上的配置相比Windows XP等要简单很多,不需要复制等操作,你只要将php.ini-development配置文件重命名为php.ini配置文件即可。接着做如下配置操作:

1、打开php.ini配置文件,找到

1
2
; On windows:
; extension_dir = "ext"

修改为

1
2
; On windows:
extension_dir = "C:/php/ext"

表示指定PHP扩展包的具体目录,以便调用相应的DLL文件。

2、由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等,即将

1
2
3
4
5
6
7
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll

这些extension之前的分号(;)去除。

3、配置PHP的Session功能

  在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到

1
;session.save_path = "/tmp"

修改为

1
session.save_path = "D:/phpsessiontmp"

4、配置PHP的文件上传功能 如何编写PHP文件上传功能?

  同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到

1
;upload_tmp_dir =

修改为

1
upload_tmp_dir = "D:/phpfileuploadtmp"

5、修改date.timezone,否则在执行phpinfo时date部分会报错:

Warning: phpinfo() [function.phpinfo]…

我们需要将

1
;date.timezone =

修改为

1
date.timezone = Asia/Shanghai

  你也可以点击参考更多关于PHP.INI的配置

  至此在Windows 7上php的环境配置就算完成了,但是光完成这些配置是不够的,我们需要Apache支持PHP,所以还需要在Apache配置文件中完成相应的PHP配置。

PHP环境搭建第五步:配置Apache以支持PHP

1、在#LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加

1
2
3
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "c:/php"
AddType application/x-httpd-php .php .html .htm

  我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.15,所以我们当然需要使用php5apache2_2.dll,接着指定PHP的安装目录以及执行的程序扩展名。

2、我们应该知道默认Apache服务器执行WEB主程序的目录为Apache2.2/htdocs,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置,即将

1
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

修改为

1
DocumentRoot "D:/PHPWeb"
1
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">

修改为

1
<Directory "D:/PHPWeb">

3、最后修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行

1
DirectoryIndex index.html

修改为

1
DirectoryIndex index.php index.html

4、重启Apache服务器

  至此,在Apache服务器上PHP环境配置工作就完成了,你只需要在D:/PHPWeb目录下新建一个PHP文件,写入

1
2
3
<?
phpinfo();
?>

  然后在游览器中输入http://localhost,就可以看到PHP的具体配置页面了,代表在Window 7上PHP环境配置工作就算完成了。

  在完成Windows 7上的PHP环境配置工作后,我们需要完成PHP环境搭建的最后一步,即支持Mysql数据库。

  首先需要配置Mysql服务器。

  点击开始菜单下Mysql Server5.1菜单中的Mysql Server Instance Config Wizard,完成Mysql的配置向导。

选择Mysql服务器的类型

选择Mysql服务器的类型


  个人认为第一和第二项都可选择,如果仅仅只是作为WEB数据库,推荐选择第二项。

Mysql数据库用途

Mysql数据库用途

选择Mysql数据库的并发连接数

选择Mysql数据库的并发连接数


  选择Mysql的并发连接数,第一项是最大20个连接并发数,第二项是最大500个并发连接数,最后一种是自定义,你可以根据自己的需要选择。

选择Mysql服务的端口号,一般默认即可

选择Mysql服务的端口号,一般默认即可

选择Mysql数据库的字符集

选择Mysql数据库的字符集


  此处推荐使用UTF8,比较通用,否则容易造成乱码。

设置Mysql为Windows服务

设置Mysql为Windows服务


  在这里考虑开机速度的问题,我将自动登录Mysql服务取消了,一般你可以选择此选项,如果没有选,你可以使用net start mysql启动Mysql服务。

设置Mysql数据库root用户的密码

设置Mysql数据库root用户的密码

执行Mysql服务配置选项

执行Mysql服务配置选项


  Mysql数据库的配置文件保存在C:\Program Files\MySQL\MySQL Server 5.1\my.ini,如果今后有什么变动,你可以修改此文件。

  至此Mysql数据库的配置就算完成了,为了验证PHP是否能连接Mysql,你可以在index.php中创建如下代码

1
2
3
4
5
6
<?php
$connect=mysql_connect(“127.0.0.1″,”root”,”你的mysql数据库密码”);
if(!$connect) echoMysql Connect Error!;
else echo “欢迎访问PHP网站开发教程网-www.leapsoul.cn”;
mysql_close();
?>

  然后在游览器中输入http://localhost/,看到:欢迎访问PHP网站开发教程网-www.leapsoul.cn字样就说明PHP连接Mysql就算成功了。

Windows 7下无法使用localhost连接MYSQL5.3的解决方法

  在Windows 7中PHP连接Mysql时默认只能使用IP地址连接Mysql,而无法使用localhost连接Mysql,解决方法为打开C:\Windows\System32\drivers\etc下的hosts文件,将

1
#   127.0.0.1       localhost

中的注释去除即可。

  OK,到这,在Windows 7上使用PHP+Apache+Mysql完成PHP环境搭建的工作就算完成了,我们可以看到相比在其他Windows平台上搭建PHP环境节省了不少工作,但是也要注意到在Windows 7上连接Mysql5.3数据库的问题。当然如果向我一样比较懒,你可以使用Appserv或者Xampp来进行PHP环境配置。

  PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。


  1. xiao
    2010年5月15日20:31 | #1

    非常感谢这篇文章
    让我再迷茫数小时之后成功安装和配置好了php
    感谢!
    就是还有个建议
    “然后在游览器中输入http://localhost”
    这句能不能说的更清楚一点
    改成“然后在游览器中输入http://localhost.文件名”
    我刚配置完之后就是在这又卡了好久
    一度以为自己弄错了
    相信还有很多新手和我一样

  2. 2010年5月16日09:58 | #2

    感谢你的支持,我确实应该写的更详细点,对于PHP入门学习者来说这点很重要,在此申明:在游览器中输入http://localhost/文件名.php

  3. UncleBun
    2010年6月29日17:27 | #3

    你好,我在配置APACHE这里出现了一点问题。
    我在D:/PHPWeb上新建一个php文件,内容为:
    可是在浏览器中输入http://localhost之后,整个页面无任何显示。

    我之前是把php解压到D盘根目录,设置了将d:php加入到了PATH环境变量。发现这个问题后重新把php放到了C盘,问题依旧。

    同时,我在PHPWeb文件夹下新建的index.php文件中,加入Hello
    可以正常显示。
    希望能帮我看看问题的症结。谢谢。可以发到我的邮箱。

  4. HUANGTF
    2010年6月30日15:44 | #4

    请问一下那个.so文件你是如何打开的?

  5. 2010年7月5日15:49 | #5

    so是Linux下的,windows下的是DLL

  6. 2010年7月5日15:52 | #6

    你首先确认你是否已开启了PHP错误信息,一般空白页面可能是错误信息被抑制了,通过错误信息查找根源,另外你最好将PATH环境变量的相关信息去除,免得容易配置不一致。

  7. Joyan
    2010年7月22日13:30 | #7

    @david
    朋友我的是WIN7,但我找到了mod_vhost_alias.so,找不到你说的那个DLL,我是不是装错了。。

  8. 2010年7月22日19:56 | #8

    你下载的是WINDOWS版本还是Linux版本的PHP安装包?

  9. harvey
    2010年7月23日16:30 | #9

    你好,我很高兴见到你的这个网站~~
    不过我有点疑问想请教阁下你,5.3系列的PHP装完后我怎么都连不上MYSQL数据库呢,它使用了mysqlnd作为访问数据库的模块,可是,它好像是得有zend引擎的支持哦,阁下的这个好像都没装ZEND引擎,是否真的可以访问到数据库的?
    呃,第一次使用MYSQLND,好像PHPMYADMIN是用不了的,登陆不进去,希望阁下能为我解答一下为什么~~~

  10. harvey
    2010年7月23日16:43 | #10

    呃,PHPMYADMIN登陆不进的问题原来是因为WIN7下的那个HOSTS没有指那个localhost造成的~~问题已经解决了

  11. 2010年7月23日21:30 | #11

    Mysql无法连接的问题,你可以参考文章底部的提示

  12. harvey
    2010年7月24日10:57 | #12

    呵呵,不过也要装了zend引擎才行哦,因为mysqlnd是内置的~~

  13. lilias
    2010年7月30日21:48 | #13

    按照你的步骤安装完成,配置完成,可是apache服务器无法运行,但是在装完apache服务器后,我测试了,可以正常运行,但是配置完成后就无法运行了,是什么原因呢?

  14. 2010年8月2日16:05 | #14

    能告诉我apache的报错信息吗?

  15. lilias
    2010年8月3日09:10 | #15

    谢谢你,报错信息是:The requested operation has failed!

  16. panda
    2010年8月3日13:03 | #16

    想问下,phpinfo已包含mysql内容,运行cmd .也可出现mysql
    但,php连接mysql时,输入连接代码后。
    界面无任何内容显示,也无报错信息。就一白板儿…
    这是怎么回事呢

  17. 2010年8月4日16:38 | #17

    你调用下mysql的错误输出函数,输出错误信息看下到底是什么错,或者开启php错误控制,再判断是什么问题。

  18. 2010年8月4日16:44 | #18

    apache安装好后,http://localhost能访问吗?

  19. 跌入红尘
    2010年8月9日18:48 | #19

    为什么我加上
    AddType application/x-httpd-php.php
    AddType application/x-httpd-php.htm
    后不能启动了?
    提示:The requested operation has failed!

  20. ggg
    2010年8月9日23:34 | #20

    非常感谢,困扰了我一下午了,就因为win7对localhost不能解析。转载了。

  21. lilias
    2010年8月10日17:34 | #21

    apache安装好后,http://localhost是可以访问的,显示It works!
    然后,我不会调用mysql的错误输出函数,也不会开启PHP错误控制,但是我可以马上研究一下,最近工作有点忙,所以回复的有点晚了。

  22. 2010年8月11日16:45 | #22

    你安装的是php5.3的还是php5.2之前版本?不同版本php,安装是有区别的

  23. 2010年8月11日16:46 | #23

    感谢你对PHP网站开发教程网的支持。

  24. 2010年8月11日16:53 | #24

    mysql错误代码输出函数你可以通过mysql_error()和mysql_errno调用,php错误控制,你可以参考PHP错误报告和错误信息设置详解一文,有问题再留言,我尽量答复。

  25. lilias
    2010年8月11日17:30 | #25

    谢谢你的耐心教导,以后会跟着你的网站好好学习PHP的,我的环境是mysql:5.1.49 apache:2.2.15 php:5.3.3 phpMyAdmin:3.3.5 现在问题已解决,过程是这样的。我启动了configure apache server文件下的test configuration ,找到了配置文件的第128行出现错误,原因是我的LoadModule php5_module “D:/WAMP/PHP/php5apache2_2.dll” 引号输入错误,不是因为输入法下的”"。属于低级错误,现在还什么都不懂,得加油学!谢谢你

  26. lilias
    2010年8月11日18:21 | #26

    你的网站,用户登录是不能保存的吗?因为我发现过好几天登录,在留言,无法找到自己的注册信息,又得重新注册,然后才能留言。
    在解决了apache的启动问题后,我输入了你那段测试与mysql的连接的代码
    (),
    显示有严重错误:Fatal error: Call to undefined function mysql_connect() in D:\WAMP\www\link.php on line 2

  27. 2010年8月12日10:06 | #27

    PHP网站开发教程网并没有开启注册功能,你只要留言必填项填好就可以留言了,只要记住你填的信息并不需要每次都注册,可能你换了不同机器留言吧,至于你说的Mysql_connect错误,你通过phpinfo()函数输出php信息看下你启用了Mysql扩展库了没有,默认PHP5.3并不自动启用Mysql数据库的。

  28. mysql连不上啊
    2010年8月13日02:22 | #28

    mysql 还是连不上啊 求解?
    网上百度的都试过了 不行呀……….

  29. 2010年8月13日08:40 | #29

    首先请确保phpinfo输出信息中有Mysql一栏,其次,确保Mysql服务已启动(net start mysql),如再不行,请排查Mysql服务的端口号是否有冲突,比如杀毒软件等

  30. leevee
    2010年8月17日11:29 | #30

    请问大侠:
    我在网上遍搜答案也找不到.
    我本机的环境配置是:Windows7 + php521+mysql+IIS(Apache 两种方式都试过)

    PHP安装和启动正常,可通过phpinfo() 访问PHP信息;
    MYSQL 安装和启动正常,可通过客户端工具访问;

    问题出在phpinfo中没有mysql信息,用phpmyadmin访问数据库也是提示没有加载mysql扩展。

    请大家不要以为我没有设定好php.ini。
    我在php.ini中设定好了的,php_pdo_mysql.dll和 php_mysql.dll都是开放了的,extension设置也是正常的。

    但就是不能加载mysql,请问哪位大侠试过??请给予指教,多谢多谢。
    QQ:4oo142

  31. 2010年8月17日22:17 | #31

    这说明mysql扩展并没有加载成功,请确认1、Mysql服务是否已启动;2、mysql.dll文件是否存在以及是否在ext目录下;3、php.ini配置是否正确;4、是否修改了正确的php.ini文件(起作用的php.ini文件)

  32. Issachar
    2010年8月18日16:22 | #32

    请教一下
    PHP环境搭建第五步:配置Apache以支持PHP

    1、在#LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加
    mod_vhost_alias.so这个文件怎么打开,用记事本打开都是乱码呀?

  33. 2010年8月19日15:58 | #33

    这一步的意思是在PHP环境搭建时,打开apache的配置文件,http.conf文件,找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so这一行,在下面添加。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.