该博文参考的资料来源于:
http://wenku.baidu.com/view/0e4c569ddd3383c4bb4cd267.html
http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html
http://www.admin10000.com/document/54.html
http://blog.csdn.net/zutsoft/article/details/21651041
昨天花了差不多一天的时间,跳过无数“坑”之后,把WAMP环境给搭建上了。为何说坑,是因为不理解不知道,原来最新版的apache和最新版的php5.5存在不兼容的问题。还有Thread safe 和no thread safe版本之间的区别,PHP版本中的VC6、VC9、VC11之间的区别,现在记录一下我搭建的过程。包括各种谷歌后学习到的内容。
一、准备工作,下载软件
注:以下是我使用的版本。
apache:httpd-2.2.22-win32-x86-openssl-0.9.8t.
MySQL:mysql-installer-community-5.6.19.0.msi
下载地址:http://dev.mysql.com/downloads/windows/installer/
PHP:php-5.3.1-Win32-VC6-x86
下载地址:http://windows.php.net/downloads/releases/archives/
二、开始安装软件
(一)安装apache
双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。
(注:这里选择安装类型,我一般选择Custom,这里可以自己设置安装路径,看自己喜欢)
安装完成之后,在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。
(二)安装PHP
安装PHP:将php-5.3.1-Win32-VC9-x86.zip解压到一个目录即可。
(三)安装MySQL
插一句,昨天是因为下载错MySQL,所以搞得很头疼,建议到官网下载,我上面发的那个链接,下载的那个版本是ok的。
双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom(我比较喜欢自定义安装,建议选择自定义Custom)
MySQL下载完成后,找到下载到本地的文件,按照下面所示的步骤双击进行安装:
步骤1:双击MySQL安装程序(mysql-installer-community-5.6.10.1)会弹出如下图1.4所示:
步骤2:单击图1.4中的“Install MySQL Products” 文字,会弹出的用户许可证协议窗口,
如下图1.5所示:
步骤3:选中“I accept the license terms” 的前面的选择框,然后点击【Next】按钮,会进入查 找最新版本界面,效果如下图1.6所示:
步骤4:单击【Execute】按钮,会进入安装类型设置界面,效果如下图1.7所示。
步骤5:选择图1.7中的“Custom”选项,可修改安装路径或保持默认值,然后单击【Next】按钮,
弹出功能选择界面,如下图1.8所示。
步骤6:单击【Next】按钮,弹出安装条件检查界面,如下图1.9所示。
步骤7:单击【Next】按钮,进行安装界面,如下图1.10所示。
步骤8:单击【Execute】按钮,开始安装程序。当安装完成之后安装向导过程中所做的设置将在安装完成 之后生效,如下图1.11所示的窗口
步骤9:单击【Next】按钮,会进入服务器配置页面,效果如下图1.12所示。
步骤10:单击【Next】按钮,效果如下图1.13所示。
图1.13中的“Server Configuration Type”下面的“Config Type”下拉列表项用来配置当着服务器的类
型。选择哪种服务器将影响到MySQL Configuration Wizard(配置向导)对内存、硬盘和过程或使用的决策,可以选择如下所示的3种服务器类型:
Developer Machine(开发机器):该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序。将MySQL服务器配置成使用最少的系统资源。
Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其它应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。
Dedicated MySQL Server Machine(专用MySQL服务器):该选项代表只运行MySQL服务的服务器。
假定运行没有运行其它应用程序。MySQL服务器配置成使用所有可用系统资源。
作为初学者,选择“Developer Machine”(开发者机器)已经足够了,这样占用系统的资源不会很多。
在Enable TCP/IP Networking左边的复选框中可以启用或禁用TCP/IP网络,并配置用来连接MySQL服务器的端口号,默认情况启用TCP/IP网络,默认端口为3306。要想更改访问MySQL使用的端口,直接在文本输入框中输入新的端口号即可,但要保证新的端口号没有被占用。
步骤11:单击【Next】按钮,在图1.13所对应的界面中,我们需要设置root用户的密码,在“MySQL Root
password”(输入新密码)和“Repeat Password”(确认)两个编辑框内输入期望的密码。也可以单击下面的【Add User】按钮另行添加新的用户。(注:Current Root Password:为空;如果输入密码了在后面安装会报错)
步骤12:单击【Next】按钮,设置Windows Service Name<可默认>,此名为启动数据库服务名,要记住。
效果如下图1.14所示。
步骤13:单击【Next】按钮,打开配置信息显示页面,如下图1.15所示。
步骤14:单击【Next】按钮,即可完成MySQL数据库的整个安装配置过程。接下来就可以登录上我们的MySQL数据库进行操作了。
Example:启动MySQL
可以直接使用命令行:
三、整合Apache+MySQL+PHP
(一)配置Apache
首先使用文本编辑工具(推荐 EditPlus )打开 E:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 文件,这个文件是Apache的配置文件,下面几步都是在修改这个文件的内容。
要注意的是修改完 httpd.conf 文件需重新启动Apache服务,新设置才会生效。
1、让Apache加载PHP模块
找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so (大概在第128行),在这行的后面添加以下内容:
LoadModule php5_module "E:/StuSoftware/PHP/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/WAMP/PHP"
LoadModule php5_module "E:/StuSoftware/PHP/php/php5apache2_2.dll" /*你下载的需要是VC6的版本,不然找不到这个php5apache2——2.dll文件,这是我遇到的其中一个坑,待会儿下面再说*
这句意思是以module方式载入PHP5模块。
AddType application/x-httpd-php .php
这句意思就是将.php扩展名的文件作为php脚本执行。你可以使用你喜欢的任何其他扩展名,如 .html、.php5 甚至是 .txt 来执行PHP。
PHPIniDir "D:/WAMP/PHP"
这句用来指定PHP的配置文件php.ini 所在的目录。
如果是Apache 2 以module模块方式运行php5的话,就可以使用 PHPIniDir 指令。
2. 修改网站存放目录
我们知道Apache默认的网站存放目录为Apache安装目录下的htdocs文件夹。当你更改网站存放目录,就必须修改相应的Apache配置。
在配置文件 httpd.conf 中查找 DocumentRoot(大概在182行),将其修改为指向网站目录的正确文件夹。我们这里改为
DocumentRoot "F:/Workspace/PHP"
同时,查找 This should be changed to whatever you set DocumentRoot to(大概在207行),在它下面有行 <Directoy 默认的DocumentRoot >,将其修改为你自己配置的DocumentRoot 路径。我们这里修改为:
<Directory "F:/Workspace/PHP">
我的网站存放目录是这般的:
3. 修改目录首页文件
在配置文件 httpd.conf 中查找 DirectoryIndex index.html (大概在244行)(快捷键查找按ctrl+F)将其修改成:
DirectoryIndex index.html index.htm index.php
DirectoryIndex 指的是当客户浏览器访问的路径是一个目录时,Apache默认执行的文件。
以我们所修改的为例:当客户浏览器访问一个目录时,Apache会去找该目录下的index.html,如果没有再找index.htm,还没有再找 index.php。都找不到则默认显示该目录下的文件列表。参考文档:如果防止Apache显示文件列表
(二)配置PHP
打开PHP安装目录,即E:\StuSoftware\PHP\php,我们可以看到目录下有两个这样的文件 php.ini-development 和 php.ini-production,第一个是开发使用的配置文件,第二个是生产环境的配置,因为我们是在本机做开发,所以选择前者。将php.ini-development复制一份到同目录下,并改名为 php.ini。这个php.ini 就是当前使用的配置文件,以下几步都是在修改这个php.ini文件的内容。要注意的是,修改php.ini文件后需重新启动Apache服务,新设置才会生效。
1. 指定PHP扩展库的存放目录
在Windows下PHP的扩展库通常以 DLL 形式存放在PHP的ext目录中。
使用文本工具打开php.ini文件,查找extension_dir = "ext"(大概在809行),也就是在 On windows 下面那一行。把它前面的分号“;”去除掉,改为如下:
extension_dir = "E:/StuSoftware/PHP/php/ext"
extension_dir 表示PHP扩展库的具体目录,以便调用相应的DLL文件。
2. 开启相应的扩展库
默认情况下许多PHP的扩展库都是关闭的,比如默认PHP不支持连接Mysql数据库,需开启相应的扩展库。
这里我们开启一些常用的扩展库。
查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。
找到如下扩展:
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_exif.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_sockets.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
把以上extension 前面的分号 “;” 去掉。如果你希望加载其它扩展模块,方法相同,只要去掉前面的分号即可。
提示1:重启Apache提示 “unable to load dynamic library......php_curl.dll”,加载php_curl.dll错误。解决方法是拷贝 PHP 目录下的 libeay32.dll 和 ssleay32.dll 到 windows 目录或 windows/system32 目录下,只要是系统 Path 环境变量里包含的路径就可以。如果不想拷贝,你也可以直接把 PHP 路径放到系统 Path 环境变量里。 右击我的电脑=>属性=>高级=>环境变量=>系统变量里有个Path,双击打开,把你的PHP路径加个分号“;”再前面( ;D:\WAMP\PHP ),添加进去就OK了。重启Apache不再提示该错误。
提示2:Exif 扩展是用来显示图片的 exif 信息的,因为该扩展需要 mbstring.dll 支持,所以必须将 extension=php_exif.dll 这一行写到extension=php_mbstring.dll 的后面。
提示3:如果PHP自带的扩展库不能满足你的需要,你可以去 pecl.php.net 查找并下载你需要的库。windows用户可以去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下载已经编译好的DLL文件,也可以去http://museum.php.net/php5/ 载PECL集合压缩包。
提示4:很多人在找php_zip.dll,其实从php5.3开始已经集成了zip扩展,直接使用就行了。你可以用<?php phpinfo() ?> 找到zip扩展的说明。
目前针对不同用户,MySQL提供了2个不同的版本: MySQL Community Server:社区版,该版本完全免费,但是官方不提供技术支持。
MySQL Enterprise Server:企业版,它能够高性价比的为企业提供数据仓库应用,支持ACID事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话及文档等技术支持。
目前最新的MySQL版本为MySQL 5.6,可以在官方网站http://dev.mysql.com/downloads/下载该软
件。下图1.2所示的MySQL官网上单击图片上的“Download”超链接 或 点击左边标记处,然后按照提示一步步操作就可以将MySQL软件下载到本地计算机中了。注意这里我们选择的是数据库版本是“Windows (x86, 32-bit), MSI Installer”,如下图1.3所示。
3. 让PHP支持短标签
在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 让其支持短标签。
php的代码一般包含在<?php .... ?>的标签内,设置 short_open_tag = On 之后,可以写成更简洁的形式:<? .... ?>。
4. 配置PHP的Session功能
在使用session功能时,我们必须配置session文件在服务器上的保存目录。我们需要为session建立一个可读写的目录,这个目录最好独立于网站目录之外。
这里把目录上建在了D:\WAMP\sessiontmp,然后在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分号“;” ,改为如下:
session.save_path = "D:/WAMP/sessiontmp"
5. 配置PHP的文件上传功能
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败。
我们建立一个可读写的目录文件夹 D:\WAMP\fileuploadtmp,然后在 php.ini 配置文件中找到 ;upload_tmp_dir = (大概875行),修改为:
upload_tmp_dir = "D:/WAMP/fileuploadtmp"
PHP默认上传文件大小不超过2M,要想上传大于2M的文件,请参考文档 配置php.ini实现文件上传功能。
6. 设置时区
在 php.ini 配置文件查找 ;date.timezone = (大概在993行),去掉前面的分号“;” 改为如下:
date.timezone = PRC
date.timezone是PHP5.1开始新增加的配置参数,用来设置时区。默认date.timezone是被注释掉的,也就是默认时区是UTC格林威治标准时间。
我们这里改为 date.timezone = PRC(PRC,People’s *,*),也就是日期使用中国的时区。这样可以解决时间相差八小时的问题。
(三)配置phpMyAdmin
直接在最开头给出的官网链接下载最新版的phpMyAdmin。
首先解压,然后将文件拷贝到网站根目录下,我的是F:\Workspace\PHP\phpMyAdmin
然后到浏览器访问http://localhost/phpMyAdmin/index.php
如图:
【安装phpMyAdmin过程出现的一个问题】
登录phpMyAdmin提示1045登录不上MySQL
解决方法:直接解压文件,放到php工作空间下,然后使用mysql的用户名和登录密码登录,无需更改任何的配置一文件
之前说的php的版本VC6/9/11的区别,以及Threadsafe和no Threadsafe的区别:
VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。(现在PHP已经没有VC6了)。
VC9意思就是该版本PHP是用VisualStudio2008编译的,而VC11则是用VisualStudio2012编译的。这意味着
如果你下载的是VC9版本的,就需要先安VisualC++RedistributableforVisualStudio2008SP1,
如果你下载的是VC11版本的,就需要先安VisualC++RedistributableforVisualStudio2012.
搭建php首先看操作系统的版本,如果是Windows的在这里下:http://windows.php.net/download/
操作系统是32位还是64位?如果是32位的,就选择带“x86”的版本,如果是64位的,就选择带“x64”的版本。然后看WEB服务器是什么?如果是IIS系列,就选择带“Non Thread Safe”的版本,如果是Apache httpd系列,就选择带“Thread Safe”的版本。如果是Apache httpd还要看这个二进制版本是怎么编译的,有三种编译类型,分别是:VC6、VC9、VC11(分别代表Visual C++ 6、Visual C++ 2008、Visual C++ 2012)。这里就有麻烦了:PHP官方的最新版本5.5已经用VC11编译,5.4是用VC9编译的。可是Apache httpd的最新版本呢,至今还是用VC6编译。这意味着一个惊人的事实:Apache httpd的官方版本和PHP的官方版本竟然是无法兼容的!
到这里,全部安装都完毕,WAMP平稳运行。