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


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

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

                但是,在实际操作中,在win7中如果装了VC6,即使使用apache,php与MYSQL兼容性使用会有一些问题,反而是VC9在apache下与mysql能够正常使用。

        (1,拷贝MYSQL安装目录中的libmysql.dll到C:\PHP。 2,并且将 libmysql.dll    php5ts.dll  php_mysql.dll 三个dll全部拷贝到c:\windows下

          3,重启机器)

  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配置信息


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

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

      当启动apache服务时候,可能会出现错误启动不了,检查event log,看是不是3299的错误,如果是,是因为 iis也启动了,也在监听80端口,与apache冲突,需要关掉iis,然后重启apache。启动event viwer的快捷键:eventvwr,启动iis操作界面的快捷键:inetmgr.

refer to http://www.itauthor.com/2007/05/15/if-apache-fails-to-start-after-a-reboot/


PHP环境搭建第二步:Windows 7下安装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 5.3.8的非线程安全版本吧,这个里面没有php5apache2_2.dll,所以不能用在 windows 上的 apache。PHP 5.3.8的线程安全版本里面有 php5apache2_2.dll,官方下载链接:
http://windows.php.net/downloads/releases/php-5.3.8-Win32-VC9-x86.zip
 
 

非线程安全的VC9 x86 Non Thread Safe , 缺少了php5apache2_2.dll (注意,在php5.4.0以及后面的5.4版本,此文件更新为php5apache2_3.dll)这些文件, 大小是14.93M .

下面那个Thread Safe线程安全版的.才是我们需要的,大小是15.06M 

至于VC6和VC9,一个支持apache一个支持IIS.但是试了下VC9用在apache上没问题 . 

线程安全Thread Safe(TS)和非线程安全(NTS),就是在执行时是否进行线程安全检查,以防止有新要求就启动新建成的CGI执行方式,进而耗尽系统资源.

PHP环境搭建第五步:配置Apache以支持PHP (修改httpd.conf)

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时候,如果遇到下列错误:1000

     Faulting application name: httpd.exe, version: 2.2.21.0, time stamp: 0x4e6a3015
Faulting module name: php5ts.dll, version: 5.2.17.17, time stamp: 0x4d25fb49
Exception code: 0xc0000005
Fault offset: 0x000f424c
Faulting process id: 0xe34
Faulting application start time: 0x01cd4a2521439cff
Faulting application path: C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe
Faulting module path: C:\Program Files\PHP\php5ts.dll
Report Id: 5f106a31-b618-11e1-aca1-541dfaacee0e

     这是php的一个bug,解决方案:don't use the installer, use the ZIP instead.


     如果遇到下列错误:3299

   The Apache service named  reported the following error:
>>> httpd.exe: Syntax error on line 129 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files/PHP/php5apache2.dll into server: The specified module could not be found.     .

    是因为安装PHP的时候,没有选web服务器。apache2.2


    总之,用zip包替代installer来安装,更好。

     


  至此,在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服务器的类型


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

Mysql数据库用途

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


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

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

选择Mysql数据库的字符集


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

设置Mysql为Windows服务


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

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

执行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 )   echo  Mysql  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

中的注释去除即可。

           当遇到

Fatal error: Call to undefined function mysql_connect()

       错误时候,可以这样解决:

首先在php.ini里面把 extension=php_mysql.dll 去掉了前面的 ;
1 、把 ../mysql/bin/libmySQL.dll  拷贝到 php5.0 下面,还有拷贝到 php5.0/ext 目录下
2、 将 libmySQL.dll  php5ts.dll 两个文件拷贝到  windows/system32 下面(windows2003) [ xp也一样,就不说了.
3、 将 php5.0 根目录下面的 php.ini拷贝到 windows目录下,(前提是php.ini必须是配置好的)
4、 此时如果没有什么问题就可以连接数据库进行测试啦
     其实这个问题关键的一步是 libmySQL.dll  这个文件,它不是原php5.0下面自带的那个,而是 mysql 文件里带的libmySQL.dll ,还有就是初期配置好的php.ini文件,当你用phpinfo()显示的时候,显示的是windows目录下的php.ini文件为配置文件,所以copy一份配置好的php.ini文件到windows目录下也是必须的。如下所示:

 PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程_第1张图片

  OK,到这,在Windows 7上使用PHP+Apache+Mysql完成PHP环境搭建的工作就算完成了,我们可以看到相比在其他Windows平台上搭建PHP环境节省了不少工作,但是也要注意到在Windows 7上连接Mysql5.3数据库的问题。

  

        此外, 在windows 7上安装了一次MYSQL之后,如果卸载了重新安装,会遇到mysql service不能成功启动,配置不成功得情况:

        重启mysql service的时候,会有如下错误信息:Could not start the MySQL service: Error 1067

        引起这个错误的原因,是卸载Mysql的时候没有能够完全卸载干净,存在“C:\Users\zevin\AppData\mysql”里的隐藏文件没有能够完全删除,这是mysql的一个bug。

        解决办法:手动删除如下文件夹:

                           1) C:\Program Files\MySQL
                           2) C:\Users\zevin\AppData\mysql(c:\---->ALT-->tools-->folder option-->view.....)

                           3)C:\ProgramData\mysql

                           然后重启机器,再重新安装MYSQL


      最后,在用apache的过程中,如果遇到服务器不能正常启动且没有什么可用的error信息的时候,一般的解决思路是,进入windows event viewer,查看相关详细event log.

     eventvwr


refer to:http://www.leapsoul.cn/?p=695



你可能感兴趣的:(apache,PHP,mysql,windows,数据库,extension)