千家信息网

Windows10搭建标准的WAMP开发环境-httpd2.4+php7.2+mariadb10.3

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这些年来,也一直都在运维Linux环境,突然有朋友自学PHP开发,说要在自己的windows笔记本上搭建一套PHP的开发环境,之前的开发环境也都是开发人员自己搞定的,所以也没去研究过。应邀接单后竟然发
千家信息网最后更新 2025年02月04日Windows10搭建标准的WAMP开发环境-httpd2.4+php7.2+mariadb10.3

这些年来,也一直都在运维Linux环境,突然有朋友自学PHP开发,说要在自己的windows笔记本上搭建一套PHP的开发环境,之前的开发环境也都是开发人员自己搞定的,所以也没去研究过。应邀接单后竟然发现自己都不会玩windows的在WAMP环境,说来可悲啊!技术无国界,技术无高低。所以苦水往肚子里面咽。一翻的google后,在自己高性能的笔记本上使用vmware开始安装了个全新的windows10系统,然后直接上官网下载了AMP所需的各个部件,一路的尝试,WAMP架构终于成功了,但有一个感觉是windows环境比Linux环境更难玩啊!为了能够让大家看的更清晰的过程,又重头到尾来了一次,所以有了下文。

环境展示:

操作系统:windows 10专业版(官方原版)

Httpd版本:httpd-2.4.35-o110i-x64-vc14

PHP版本:php-7.2.11-Win32-VC15-x64

MariaDB版本:mariadb-10.3.10-winx64

所有软件均从官网直接下载

解压后软件存放路径:C:\AMP,软件名称的下级均无其它多余外层目录

为了方便日后排查错误,建议修改默认配置文件之前,先复制一份以备日后排错比对使用。

Httpd的主配置文件:C:\AMP\httpd\conf\httpd.conf

Httpd的小配文件:C:\AMP\httpd\conf\extra

Httpd的默认证书目录:C:\AMP\httpd\conf\ssl

Httpd的网页根目录:C:\AMP\httpd\htdocs

打开cmd窗口,尝试启动httpd

C:\Users\lucker>cd c:\amp\httpd\bin

c:\AMP\httpd\bin>httpd.exe

如果收到如下报错,说明你的系统缺少Visual C++ 环境

Visual C++ Redistributable for Visual Studio 2015官方下载地址:

https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145&6B49FDFB-8E5B-4B07-BC31-15695C5A2143=1

下载并成功安装后,再次启动httpd又会收到如下报错:

c:\AMP\httpd\bin>httpd.exe

httpd.exe: Syntax error on line 40 of C:/AMP/httpd/conf/httpd.conf: ServerRoot must be a valid directory


httpd.conf需要修改的地方有以下几处:

Define SRVROOT "/Apache24"

需要修改为自己的httpd的根目录

Define SRVROOT " C:\AMP\httpd"

修改完此处,httpd已经可以正常启动了

顺便说明一下httpd隐藏版本设定

ServerTokens Prod

可以放在Define SRVROOT " C:\AMP\httpd"

下一行即可

没有隐藏版本信息之前http报文头会显示如下信息

隐藏版本信息之后

修改完httpd.conf配置文件之后再次重启httpd

cmd命令行停止前台阻塞的httpd程序,使用CTROL+C组合键

此时打开浏览器访问localhost已经正常了

此时我们可以向Httpd的网页根目录添加一个自己的页面进行测试

C:\AMP\httpd\htdocs\test.html

test page

恭喜你,你的httpd服务器已经可以正常工作了!

再次使用浏览器访问localhost/test.html进行测试

如果能看到上图结果说明你的httpd作为静态服务器已经正常了,接下来需要修httpd及PHP的相关配置,使httpd能够和PHP应用服务器进行整合。

配置httpd调用php的接口

LoadModule php7_module "C:\AMP\php\php7apache2_4.dll"

PHPIniDir "C:\AMP\php"

配置httpd对php文档格式的支持

IfModule mime_module

AddType application/x-httpd-php .php

PHP程序主配置文件,默认没有,需要自行复制C:\AMP\php\php.ini-production为php.ini并进行相应修改,

当然如果有需要,也可以复制C:\AMP\php\php.ini-development为php.ini后进修改。

两者不同之外通过原来的文件名足以区分。Development环境开启的调试性参数更多。

修改时区为Asia/Shanghai

date.timezone = Asia/Shanghai


顺便说一下隐藏PHP相关信息设定

expose_php = On

修改为

expose_php = Off

没有隐藏PHP版本信息之前http报文头信息如下

如果httpd隐藏了版本信息只会看到X-Powered-By: PHP/7.2.11这一行信息

隐藏PHP版本信息之后(不会显示php应用的任何信息)

添加httpd整合php之后的测试面

C:\AMP\httpd\htdocs\httpd-php.php

echo "恭喜你,你的HTTPD调用PHP配置已经成功!"

?>

首先使用httpd.ext -t做一下配置文件格式的检查,没问题之后再次启动

再次使用浏览器访问localhost/httpd-php.php进行测试

如果能看到上图的结果,说明你的httpd整合php已经没有问题了。

接下来就是mariadb的安装及配置了

创建mysql配置文件C:\AMP\mariadb\my.cnf

[mysqld]

innodb_buffer_pool_size=128M

datadir=C:\amp\mariadb\data

socket=C:\amp\mariadb\socket\mysql.sock

symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

####Self config####

bind-address=0.0.0.0

character-set-server=utf8

skip-name-resolve

innodb_file_per_table

default_storage_engine=innodb

log-warnings=1

slow_query_log=1

long-query-time=2

slow_query_log_file=C:\amp\mariadb\log\slow.log

[mysqld_safe]

log-error=C:\amp\mariadb\log\error.log

注意:此配置文件需要是unix格式

需要自己创建两个目录

存放socket的目录C:\AMP\mariadb\socket

存放日志目录C:\AMP\mariadb\log

Cmd下启动MariaDB服务器的命令

C:\Users\lucker>cd c:\AMP\mariadb\bin

c:\AMP\mariadb\bin>mysqld.exe --basedir=C:\AMP\mariadb --datadir=C:\amp\mariadb\data --log-error=C:\amp\mariadb\log\error.log --socket=C:\amp\mariadb\socket\mysql.sock

MariaDB服务器启动后会处于前台阻塞状态,此cmd窗口不可以关闭

再打一个新的cmd窗口使用mysql客户端工具连接测试

C:\Users\lucker>cd c:\amp\mariadb\bin

c:\AMP\mariadb\bin>mysql.exe -uroot

能够看到如上画面说明MariaDB服务器的安装基本完成,接下来写一个php连接MariaDB的测试面进行测试了

C:\AMP\httpd\htdocs\httpd-mariadb.php

//定义参数

$servername = "localhost";

$username = "root";

$password = "";

// 创建连接

$conn = new mysqli($servername, $username, $password);

// 检测连接

if ($conn->connect_error) {

die("抱歉,MariaDB数据库连接失败!: " . $conn->connect_error);

}

echo "恭喜你,MariaDB数据库连接成功,你的WAMP搭建成功!!!";

?>

使用浏览器打开localhost/httpd-mariadb.php访问测试

出现上述报错提示是源于php的mysqli模块没开启,需要修改php.ini配置文件,指定php扩展组件所在目录,以及启用需要的扩展组件。

extension_dir = "C:\AMP\php\ext"

extension=mysqli

注意:由于我这里仅仅为了给大家展示PHP连接MariaDB,常规来说,需要启用的模块不止这一个,需要根据自己的实际情况选择性的进行开启。

再次重启httpd服务刷新访问页面,成功页面展示如下

至此为止,WAMP环境搭建完成,但要想用的更方便一些,需要把httpd以及mariadb服务端都安装成服务并设定为开机自启动,这样以后就不用使用烦琐的cmd命令来服务。


Cmd命令行将httpd安装为服务

c:\amp\httpd\bin>httpd.exe -k install -n httpd

Installing the 'httpd' service

The 'httpd' service is successfully installed.

Testing httpd.conf....

Errors reported here must be corrected before the service can be started.

c:\amp\httpd\bin>httpd.exe -k start

c:\amp\httpd\bin>httpd.exe -k stop

The 'Apache2.4' service is stopping.

The 'Apache2.4' service has stopped.

c:\amp\httpd\bin>

Cmd命令行将MariaDB安装为服务

c:\amp\mariadb\bin>mysqld.exe --install mysql --defaults-file=c:\amp\mariadb\my.cnf

Service successfully installed.

c:\amp\mariadb\bin>net start mysql

mysql 服务正在启动 .

mysql 服务已经启动成功。

c:\amp\mariadb\bin>net stop mysql

mysql 服务正在停止.

mysql 服务已成功停止。

c:\amp\mariadb\bin>

windows服务都在cmd命令行下使用net命令进行管理

格式:net start|stop service_name(如果默认名称很复杂建议安装服务时人工指定)

c:\amp\httpd\bin>net start httpd

httpd 服务正在启动 .

httpd 服务已经启动成功。

c:\amp\httpd\bin>net start mysql

mysql 服务正在启动 .

mysql 服务已经启动成功。

c:\amp\httpd\bin>net stop httpd

httpd 服务正在停止.

httpd 服务已成功停止。

c:\amp\httpd\bin>net stop mysql

mysql 服务正在停止.

mysql 服务已成功停止。

c:\amp\httpd\bin>

至此为止,终于搞定了windows环境下的WAMP架构的搭建,如果要想调试自己的代码,就把代码放置于C:\amp\httpd\htdocs就可以随心所欲的折腾自己的PHP程序了。


当然对于新手来说,还是强烈建议使用phpstudy或者xampp一键安装包,毕竟这种分开安装的方式坑会比较多,配置比较复杂。如果想日后维护升级方便,或者有更高的使用需求,自己整合的这种方式当然也就用得上了。

服务 配置 成功 环境 信息 文件 版本 测试 命令 再次 服务器 正在 目录 开发 格式 浏览器 整合 浏览 接下来 建议 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全总结性话语 创建数据库使用的工具是什么 数据库转专业实验报告 网络安全需要国家和个人如何做 网络安全教育有哪些主题班会 网络安全宣传河北启动仪式 扬州市网络安全宣传周启动 ai怎么处理网络安全 网状型关系型数据库划分原则 网络技术与应用html 怎么查电脑的服务器地址 新冠疫情下信息时代网络安全 镇网络安全保密制度 网络安全和信息化的方略 中国网络安全百强企业第九版 docker找不到数据库 云投数据库最新消息 成都交友软件开发如何收费 旗帜软件数据库安装 如何搭建公司服务器 吴江软件开发技术 下列是网络安全的基本原则有 paradox数据库修改 电力监控系统网络安全案例 m全球五大软件开发教父 打印服务器行业名人 惠普服务器在管理网上配置 网络安全教育宣传片下载 简阳市网络安全宣传周 威海零壹网络技术有限公司
0