Windows 7 64位搭建 PHP+apache+mysql环境

本文详细介绍在Windows 7系统中搭建PHP环境的过程,包括安装配置Apache、MySQL及PHP,并解决常见问题。

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

  PHP版本:php-5.3.6-win32-vc9-x64,VC9是专门为IIS定制的,VC6 是为了其他WEB服务软件提供的,如 Apache。我没找到vc6 5.3.6 版本的,实测用vc9也可以。

  Mysql版本:MySQL Server 5.5

  Apache版本:Apache_2.2.22-x64-openssl-1.0.0g,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的文件上传功能 

  同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

  

  至此在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目录下新建一个index.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官网下载php时,我们会发现有vc6、vc9的区别,这是什么意思呢? VC6是legacy Visual Studio 6 compiler,使用这个版本的编译器编译PHP代码的,使用apache做应用程序服务器,则选择vc6。 VC9是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。使用IIS做应用程序服务器,则选择vc9。 那么,我们注意到,php-5.2.17-nts-Win32-VC6-x86.zip php的解压文件中,有nts和没有nts的区别,这个又是什么意思呢? 这要从php的5.2系列版本说起。从5.2.1版本开始,就有ts和nts的区别,Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全) Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。 从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是因为Linux/Unix系统是采用多进程的工作方式,而Windows系统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,因为CGI模式建立在多进程的基础之上,而不是多线程。我们在windows上会把PHP配置成以ISAPI的方式来运行,因为ISAPI是多线程的方式,这样就快多了。 但存在一个问题,很多常用的PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就会出错,很可能将IIS进程搞崩溃,因此对于IIS来说,CGI模式才是PHP运行的最安全的方式,只不过CGI模式对于每个HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。 为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。 因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 根据不同的webserver,也就是应用程序服务器,在处理应用请求的时候,有些是用多线程而非多进程的方式,那么由于线程会牵扯到共享寄存器和内存方面的,所以很容易出错(考虑c语言指针的情况),那么系统就需要时间和资源来处理寄存器中的数据,保证它们的一致性,也就是保证线程安全了。 所以是否使用Thread Safe(线程安全),主要看web server所采用的PHP请求处理方式,如果是多线程处理如IIS的ISAPI方式,那么请选择线程安全,如果是FastCGI那么选择非线程安全。 最终建议:IIS下,使用ISAPI方式运行PHP,就使用Thread Safe(线程安全)的版本,使用FastCGI方式运行PHP,就使用None Thread Safe(NTS,非线程安全)的版本。 注:php5.2没有vc9,php5.3、php5.4没有vc6。呵呵。PHP5.5开始,不支持xp和win2003了,更是vc11了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值