WAMP搭建[Win7+Apache2.4+MySQL5.7+PHP7


一、背景

       将电脑光驱位拆换成固态硬盘(120g),专门装了一个系统用于工作。之前一直使用PHPstudy和WAMP这种集成环境,但这类集成环境的MySQL版本最高的都是5.5的,PHP版本最高是5.6的,Apache最新版本是2.2。目前Apache最新版本是2.4.x,PHP最新版本是7.0.x,MySQL最新版本是5.7.x,掌握WAMP|LAMP环境的搭建是非常重要的,虽然工作中自行开发的时候大多数都是使用集成环境开发的,但是集成环境的本质也是将各个套件单独组装在一起的。在整个搭建过程中,遇到了许多问题,在网上也没有找到完整的将WAMP搭建过程写出来的,因此将自己搭建的过程写出来。

       使用WAMP集成环境开发的优点是:1).使用方便快捷;2).有多种PHP版本可切换开发。但是缺点也是很明显的,你不知道WAMP集成配合使用的本质。在本博文中,将从下载WAMP组件开始说到WAMP组件[Apache+MySQL+PHP]可以配合使用。具体各个组件配置文件是如何的,将不在本文中提及。若文中有表达不准确之处,欢迎拍砖给我指正,也请多多见谅!

二、WAMP包括什么?如何从官网下载WAMP组件

1.WAMP包括什么?

一图顶千文,客官有图有真相☟ WAMP组件结构

由图可得:用户访问B/S程序的一个流程是☛在Windows操作系统下,装有(Apache|IIS|Nigix)服务器,用户直接访问服务器。服务器会根据访问的程序选择加载所需要的语言解析引擎(php.exe/JDK/Python…),去数据库(MySQL|SQL Server |oracle…)动态获取数据后解析为客户端(浏览器)可以识别的方式(html)返回给客户端,由客户端展现。

WAMP环境包括了:操作系统(Windows系统)+服务器(Apache)+数据库(MySQL)+语言解析模块(PHP解析引擎)

2.如何从官网下载所需要的各个组件?

W:Windows系统

1)百度搜索MSDN,该网站上可以下载微软的所有正版产品。下载操作系统,自行安装。

2).版本介绍
① Windows 7 Enterprise (x64) — Win7 64位 企业版
② Windows 7 Enterprise with Service Pack 1 (x64) — Win7 64位 企业版【附带各种服务包】
③ Windows 7 Home Basic (x86) — Win7 32位 家庭基础版
④ Windows 7 Home Premium (x64) — Win7 64位 家庭付费版
⑤ Windows 7 Professional — Win7专业版
【需要什么版本自己下载即可】

A:Apache服务器

1).百度搜索进入Apache服务器官网,点击跳转Apache服务器官网下载中心
2).注意点
① 官网已经不再提供Apache的msi镜像安装文件,只提供源码编译解析文件
② 注意自己下载的Apache位数是什么【X86还是X64的,下载的PHP版本需要和此处对应】
3).版本介绍
① Apache 2.4.x VC14 — 后面的VC14是php.exe程序运行的时候所需要Windows VC++ 运行库所需要的版本【后面与PHP的VC14即可】
【需要什么版本自己下载即可】

M:MySQL数据库

1).百度搜索进入MySQL数据库官网,点击跳转Apache服务器官网下载中心
2).注意:
① 官网下载社区版本,数据库服务;
【企业版是需要钱的,社区版已经足以我们开发等了,如果喜欢用MySQL官方客户端MySQL Watch 的可以自己在官网下载】

② 如果在安装mysql的时候提示VCxxx.dll缺失,可以安装一个DLL-files-fixer,可以自动帮你解决掉这些dll文件缺失问题
3).版本介绍
① 现在官网上提供的也是源码编译包,建议上百度下载安装镜像

P:PHP语言解析引擎

1).百度搜索进入PHP解析引擎官网,点击跳转PHP解析引擎官网下载中心
2)注意:
① 如果自己去官网下载PHP7的时候要下载VC14 x86 Thread Safe,不要下载Non Thread Safe 版本的,不然里面是找不到php7apache2_4.dll这个文件的
② 注意下载的Apache和PHP的版本位数要对应【如果是x64的系统就都下载x64,如果是x86的就都下载x86==>我下载的是x64的】
③ VC6支持Apache;VC9支持IIS用在Apache也没有问题
④ ZIP版本是源码解压包;Debug Pack对使用者而言是毫无意义的,是给C++程序员开发或修改php扩展用的
3).版本介绍
① non-thread-safe — 非线程安全版本 — 与IIS搭配
②thread-safe — 线程安全版本 — 与Apache搭配

将上述

1) Apache源码目录解压到:C:/WAMP/Apache24文件夹中

【注意:1).我将htdocs网站根目录改名为WWW文件夹;2).F盘有WAMP目录】

F盘WAMP目录结构如下:

2) MySQL安装到:C:/WAMP/MySQL Server 5.7
3) php源码目录解压到:C:/WAMP/php7.0.11
4) 将\’ ;C:\Self\WAMP\MySQL Server 5.7\bin;C:\Self\WAMP\Apache24\bin;C:\Self\WAMP\php7.0.11;\’ 追加到环境变量Path路径中
【注意:1).是追加,不是修改;2).注意分号要英文状态】

三、如何将WAMP各个组件加入系统服务?

按住:win+R键–>输入:service.msc打开系统服务列表

此时可以看到,即使我们解压了各个组件,也安装了mysql server服务,但是在本地服务列表中依然找不到我们的Apache+mysql服务
<br

1.将MySQL服务加入系统服务

1).mysql初始化配置文件

打开my.ini文件,编辑即可。具体配置自行百度,但是此时一定要配置这两个地方

2).将MySQL服务加入系统服务

按住:win+R键–>输入:cmd,使用管理员打开cmd.exe窗口

【删除MySQL服务 mysqld –remove MySQL服务名】

3).开启MySQL服务

4).注意:

①. mysql 默认root用户初始密码:mysql -h localhost -uroot -p 即可登录
②. 修改root用户密码:

mysql> use mysql;
mysql> update user set Password=password(\'newpassword\') where User=\'root\';
mysql> flush privileges;

2.修改PHP配置文件

1).php初始化配置文件


打开php.ini文件,编辑即可。具体配置自行百度,但是此时一定要配置这两个地方

2).测试 执行以下程序,运行得到结果,表示成功:

3). 需要打开的扩展程序【搜索扩展名,去掉前面的”;”,重启服务器即可】

打开mysqli支持:extension=php_mysqli.dll
打开pdo方式mysql连接支持:extension=php_pdo_mysql.dll
打开curl请求方式支持:extension=php_curl.dll
开启mongodb支持:[PHP7.0废弃了mongo扩展,却支持mongodb扩展]
    在http://pecl.php.net/package/mongodb下载PHP7.0的支持
    【如果PHP下载的线程安全版本,此处也要下载线程安全版本】
    在php.ini配置文件中加入extension=php_mongodb.dll。
    运行phpinfo(),出现这个扩展即可

3.将Apache服务加入系统服务

1).Apache初始化配置文件httpd.conf


需要修改的配置文件有:
① httpd.conf;
② extra文件夹中:httpd-ahssl.conf
之所以需要修改如此多的配置文件是因为:
① 网站根目录我没有放在Apache24安装目录下
② 网站根目录我更名为WWW

(1). 打开httpd.conf文件,编辑:


搜索本文件httpd.conf中含有htdocs的“${SRVROOT}/htdocs”全部修改为”$ {HTDOCS}”

(2)整合Apache和PHP模块

(3). 后续的文件中请逐一打开,搜索”htdocs”,凡是“${SRVROOT}/htdocs”的全部修改为”${HTDOCS}”

2).将Apache服务加入系统服务

按住:win+R键–>输入:cmd,使用管理员打开cmd.exe窗口

【如果已经成功安装了服务了,可以使用httpd.exe -t命令检测配置文件是否有错】

3). 删除Apache服务

4).开启Apache服务

[ 若将bin目录加入环境变量中:httpd -k start(开启)|stop(停止)|restart(重启) -n (服务名)Apache24 ]

6.虚拟站点的配置

虚拟站点工作原理:

1). 打开浏览器输入www.wangjia.com
2). 系统会首选到本机的hosts文件中寻找对应域名的IP地址
3). 发现域名的IP是127.0.0.1【本机服务器IP地址】
4). 去请求本地服务器(Apache|IIS)
5). Apache加载httpd.conf文件,载入vhosts.conf文件,在文件中找到对应的目录,从而实现整个过程

Apache虚拟站点配置:

① 打开编辑httpd.conf,搜索httpd-vhosts.conf

② 将Apache安装路径\conf\extra\httpd-vhosts.conf复制一份改名为vhosts.conf,在文末修改如下图:

③ 打开编辑C:\Windows\System32\drivers\etc\hosts文件,在文末加上:127.0.0.1 ServerName

④ 重启Apache服务器

This document was created with MarkdownPad, the Markdown editor for Windows (http://markdownpad.com)

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0 }
body { font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 1.6; color: rgba(51, 51, 51, 1); background-color: rgba(255, 255, 255, 1); padding: 20px; max-width: 960px; margin: 0 auto }
body>*:first-child { margin-top: 0 !important }
body>*:last-child { margin-bottom: 0 !important }
p, blockquote, ul, ol, dl, table, pre { margin: 15px 0 }
h1, h2, h3, h4, h5, h6 { margin: 20px 0 10px; padding: 0; font-weight: bold; -webkit-font-smoothing: antialiased }
h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code { font-size: inherit }
h1 { font-size: 28px; color: rgba(0, 0, 0, 1) }
h2 { font-size: 24px; border-bottom: 1px solid rgba(204, 204, 204, 1); color: rgba(0, 0, 0, 1) }
h3 { font-size: 18px }
h4 { font-size: 16px }
h5 { font-size: 14px }
h6 { color: rgba(119, 119, 119, 1); font-size: 14px }
body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child { margin-top: 0; padding-top: 0 }
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 { margin-top: 0; padding-top: 0 }
h1+p, h2+p, h3+p, h4+p, h5+p, h6+p { margin-top: 10px }
a { color: rgba(65, 131, 196, 1); text-decoration: none }
a:hover { text-decoration: underline }
ul, ol { padding-left: 30px }
ul li>:first-child, ol li>:first-child, ul li ul:first-of-type, ol li ol:first-of-type, ul li ol:first-of-type, ol li ul:first-of-type { margin-top: 0 }
ul ul, ul ol, ol ol, ol ul { margin-bottom: 0 }
dl { padding: 0 }
dl dt { font-size: 14px; font-weight: bold; font-style: italic; padding: 0; margin: 15px 0 5px }
dl dt:first-child { padding: 0 }
dl dt>:first-child { margin-top: 0 }
dl dt>:last-child { margin-bottom: 0 }
dl dd { margin: 0 0 15px; padding: 0 15px }
dl dd>:first-child { margin-top: 0 }
dl dd>:last-child { margin-bottom: 0 }
pre, code, tt { font-size: 12px; font-family: Consolas, “Liberation Mono”, Courier, monospace }
code, tt { margin: 0; padding: 0; white-space: nowrap; border: 1px solid rgba(234, 234, 234, 1); background-color: rgba(248, 248, 248, 1); border-radius: 3px }
pre>code { margin: 0; padding: 0; white-space: pre; border: none; background: rgba(0, 0, 0, 0) }
pre { background-color: rgba(248, 248, 248, 1); border: 1px solid rgba(204, 204, 204, 1); font-size: 13px; line-height: 19px; overflow: auto; padding: 6px 10px; border-radius: 3px }
pre code, pre tt { background-color: rgba(0, 0, 0, 0); border: none }
kbd { -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; background-color: rgba(221, 221, 221, 1); background-image: linear-gradient(rgba(241, 241, 241, 1), rgba(221, 221, 221, 1)); background-repeat: repeat-x; border-top: 1px solid rgba(221, 221, 221, 1); border-right: 1px solid rgba(204, 204, 204, 1); border-bottom: 1px solid rgba(204, 204, 204, 1); border-left: 1px solid rgba(221, 221, 221, 1); border-image: none; border-radius: 2px; font-family: “Helvetica Neue”, Helvetica, Arial, sans-serif; line-height: 10px; padding: 1px 4px }
blockquote { border-left: 4px solid rgba(221, 221, 221, 1); padding: 0 15px; color: rgba(119, 119, 119, 1) }
blockquote>:first-child { margin-top: 0 }
blockquote>:last-child { margin-bottom: 0 }
hr { clear: both; margin: 15px 0; height: 0; overflow: hidden; border-top: none; border-right: none; border-bottom: 4px solid rgba(221, 221, 221, 1); border-left: none; background: rgba(0, 0, 0, 0); padding: 0 }
table th { font-weight: bold }
table th, table td { border: 1px solid rgba(204, 204, 204, 1); padding: 6px 13px }
table tr { border-top: 1px solid rgba(204, 204, 204, 1); background-color: rgba(255, 255, 255, 1) }
table tr:nth-child(2n) { background-color: rgba(248, 248, 248, 1) }
img { max-width: 100% }

版权声明:本文为lms520原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lms520/p/5929934.html