刚刚开始学习PHP时,一直使用phpstudy,后面发现很多东西自己单独配置安装会理解更深刻,所以自己总结了一下windows下开发环境的部署教程。

以前经常在CSDN和博客园看别人的教程,今天才注册博客园帐号,开通博客功能,第一次在网上分享自己的经验,写的不好的地方欢迎大家指正。

安装Nginx

首先在C盘根目录创建一个wnmp文件夹,在该文件夹里面创建一个www文件夹

访问http://nginx.org/en/download.html,下载nginx的Stable version,解压到wnmp里面,重命名为nginx

在C:\wnmp\nginx\conf目录下创建vhost文件夹

打开C:\wnmp\nginx\conf\nginx.conf

修改或添加如下配置

#打开错误日志记录
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid; #配置nginx根目录
location / {
  root C:/wnmp/www;
  index index.html index.htm;
  autoindex on;
  autoindex_exact_size off;
  autoindex_localtime on;
} #让nginx支持PHP的设置
location ~ \.php$ {
  root C:/wnmp/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#这里$document_root指的是上面定义好的nginx根目录:C:/wnmp/www
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} #在http里面加入下面这一行扩展配置
include vhost/*.conf;

安装PHP

访问 https://windows.php.net/downloads/releases/

选择你要安装的php版本,我一般选下图中的箭头指向的那种nts的

最近尝试安装 php7.3.1 发现openssl版本可能影响到了composer安装,安装composer时错误提示如下:
composer SHA384 is not supported by your openssl extension
openssl版本好像是是1.1.1a
不得已重装了7.2,欢迎知道原因的大神解惑!

下载后解压到wnmp\php文件夹中

将php.exe目录添加进环境变量path,方便全局使用php命令。

复制php.ini-development重命名为php.ini

修改或添加如下配置,视自己情况而定

extension_dir = "C:\wnmp\php\ext"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
date.timezone = Asia/Shanghai
enable_dl = On
cgi.force_redirect = 0
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1

关联nginx和php

在C:\wnmp\nginx目录下创建start.bat内容如下

PS:下面代码里面的   RunHiddenConsole.exe    文件也是在这个目录下,目的是为了开启服务后自动隐藏命令行窗口

但是这里我不知道怎么上传这个文件。。。。。欢迎评论留言

RunHiddenConsole.exe C:\wnmp\nginx\nginx.exe
echo nginx started
RunHiddenConsole.exe C:\wnmp\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\wnmp\php\php.ini
echo php started
echo .......

在C:\wnmp\nginx目录下创建stop.bat内容如下

@ECHO OFF
taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
EXIT

目录结构如下

此时双击start.bat可以开启nginx和php服务

双击stop.bat可以关闭这两个服务

在www目录下新建php脚本  <?php echo phpinfo();?>

运行start.bat 访问http://127.0.0.1/ 如下

点击info.php可查看PHP安装信息,这里就不截图了。

现在PHP和NGINX安装好了,接下来安装MYSQL。

 安装MYSQL

访问https://dev.mysql.com/downloads/windows/installer/8.0.html

直接下载最新的8.0版本,建议下载完整的安装包。

具体的安装步骤我参考的这个

https://blog.csdn.net/clouderpig/article/details/79556149

在安装mysql8的时候如果选择了密码加密,之后用客户端连接比如navicate,

会提示客户端连接caching-sha2-password,是由于客户端不支持这种插件

可以通过如下方式进行修改:

#在命令行连接mysql,执行如下命令
  show databases;
  use mysql;
#修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新密码(mysql_native_password模式)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#刷新权限
  flush privileges;

现在可以用navicate去连接数据库。

到这里WNMP环境安装就大功告成啦。

WIN10下WNMP开发环境部署的更多相关文章

  1. 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  2. VMware下Debian开发环境部署之常见问题记录

    本文讲介绍windows作为宿主机,linux虚拟机作为编译环境的开发环境搭建中最常用到的三个问题,详细描述了解决过程. 目录: 1.网路配置: 2.分辨率设置: 3.共享网盘设置: 1.网络设置,V ...

  3. windows下go开发环境部署 (sublime+gosublime+geocode)

    1.下载git.go和sublime免安装版 go下载地址:http://pan.baidu.com/s/1hq1mrDM#path=%252Fgo%252F1.5.2sublime下载地址:http ...

  4. IntelliJ IDEA Windows下Spark开发环境部署

    0x01 环境说明 本地 OS: windows 10 jdk: jdk1.8.0_121 scala: scala-2.11.11 IDE: IntelliJ IDEA ULTIMATE 2017. ...

  5. Win10下Java开发环境配置

    首先下载符合操作系统版本的jdk,比如64位的JDK8: 下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-down ...

  6. golang在linux下的开发环境部署[未完]

    uname -a Linux symons_laptop 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Li ...

  7. 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  8. linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署

    CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...

  9. 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等

    http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...

随机推荐

  1. silverlight generic.xaml 包含中文 编译错误的问题

    发现我在一个dll工程里面新建一个xaml文件起名成generic.xaml 如果这个xaml里面存在中文则会编译错误,发现这样建立的xaml使用的是gb2312编码 果断文件-另存为-编码另存为 u ...

  2. tp.c

    calculate throughput /* gput.c: out.tr¤ò²òÀϤ·¤Æ¥¹¥ë¡¼¥×¥Ã¥ÈÆÃÀ­¤ò·×»»¤¹¤ë * out.et¤ò²òÀϤ·¤ÆºÆÁ÷¥¿¥ ...

  3. 五、mariadb遇到的坑——Linux学习笔记

    C#连接MySQL异常:The host localhost does not support SSL connections. 解决方案: 连接字符串添加如下语句. SslMode = none; ...

  4. QT的动画效果 抖动 下坠 透明 最近在开发QT收藏了好多链接

    http://blog.csdn.net/liang19890820/article/details/51888114

  5. shell命令详解

    sed命令 将文本input.txt中含有”姓名”字符串的行中的谢朝辉替换成扎巴依 sed -e '/姓名/s/谢朝辉/扎巴依/g' input.txt 将input.txt中第n(5)行替换成”ji ...

  6. 浅谈js冒泡事件1

    什么是JS事件冒泡?: 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这 ...

  7. python UI自动化实战记录四:测试页面1-pageobject

    该部分记录测试页面1-IndexPage,所有首页上的元素定位.操作.获取属性等方法都写在该类中. 1 首页类继承自BasePage 2 首页类第一部分写的是所有的定位器 3 首页类第二部分类的方法, ...

  8. AngularJs学习笔记--Modules

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/module 一.什么是Module? 很多应用都有一个用于初始化.加载(wires是这个意思吗?)和启 ...

  9. bootstrap Switch 的一个坑点

    在bootstrap的modal点开的时候改变bootstrapSwitch的状态的时候,会出现第一次打开modal,switch没有变化,第二次以后打开modal才会改变,这个问题找了好久没有找到答 ...

  10. 树莓派(Raspberry Pi)上手小记

    引言 本日志中有不少软广告,博主并没有收他们任何好处,完全是给想入手的小伙伴们指条路而已.不喜勿看,不喜勿闻,不喜勿喷. 介绍 之前两三个月突然听说了这么个东西,也没有留意,某天突然在一个微信公众号上 ...