Win 下 IIS + PHP + MySQL 环境搭建

前言

一年半前刚入坑博客建设的时候,嫖的 @夜未央 dalao 的机子,系统是 Windows Server 2012R2。用惯了,然后换机也用 Windows... 再加上 Linux 一串串命令也懒得记,所以我至今还是个只能用用 Windows Server 的菜鸡...求求 dalao 们别喷了
本文将以 Windows Server 2019 Datacenter 为例,讲解 IIS10 + PHP7.2 + MySQL8 环境的搭建(水文

IIS1.png

一、文件准备

一个浏览器。没毛病,IE 是拿来下载浏览器的工具 :huaji4:
IIS2.png

稍微整理了下文件,都丢在文末了,你要去官方地址下也成:DirectX Repair(直接用运行库安装包也成)、PHP、MySQL、IIS Rewite 和 ARR 模块、解压软件。
IIS3.png

二、DirectX与运行库

下载地址:见文末

管他缺啥,一把梭过去就完事了
IIS4.png

三、安装IIS

Rewite 模块下载地址:https://www.iis.net/downloads/microsoft/url-rewrite

ARR 模块下载地址:https://www.iis.net/downloads/microsoft/application-request-routing

打开服务器管理器,添加功能
IIS5.png

三个下一步,到了 Server Roles 勾上 Web Server(IIS),下一步 Features 勾上 IIS Hostable Web Core
IIS6.png

下一步,IIS的功能选择,看着选呗,但是记得把 CGI 勾上,下面 Web Management Tools 都勾上。
IIS7.png

安装完成,开始菜单可以找到IIS管理器
IIS8.png

然后把 Rewrite(伪静态等功能) 和 ARR(反代等功能) 模块安上
IIS9.png

看来一切顺利,需要的东西都出现了
IIS10.png

四、PHP

下载地址:https://windows.php.net/download#php-7.2

把PHP放到...还是放到 C:\Program Files\ 吧,经典操作
IIS11.png

把目录下的 php.ini-development 复制个重命名为 php.ini ,打开编辑波(不建议用记事本)
当然,文末提供的包如果不改路径,是开箱即用的,一般不需要改什么

查找下面=前面的部分,如果前面有分号就去掉,并修改后面的部分:

zlib.output_compression = On //启用Gzip压缩
max_execution_time = 30 //最大执行时间,按需改
memory_limit = 128M //内存大小限制
display_errors = Off //关闭报错
error_log = C:\Windows\temp\PHP72_errors.log
post_max_size = 100M //最大POST大小,按需改
extension_dir = "C:\Program Files\PHP\7.2.5\ext" //ext文件夹位置
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
fastcgi.logging = 0
upload_tmp_dir = C:\Windows\temp
upload_max_filesize = 100M //最大上传大小,按需改
date.timezone = Asia/shanghai //时区
session.save_path = "C:\Windows\temp"
session.auto_start = 1

扩展

extension=xxxxx //去掉前面的分号以启用对应扩展

我开了这些:curl、fileinfo、gd2、gettext、mbstring、exif、mysqli、openssl、pdo_mysql、xmlrpc

打开IIS,Hander Mappings ,Add Module Mapping...(模块映射),按下图进行设置
IIS12.png
IIS13.png

Default Document 添加 index.php
IIS14.png

phpinfo(); ,好像可以了
IIS15.png

五、安装MySQL

下载地址:https://dev.mysql.com/downloads/mysql/

Server Only
IIS16.png

Stand
IIS17.png

后面有一个密码保存方式,没有截图,记得选 MySQL5.X 的,不然可能很多东西不兼容,然后设置密码
IIS18.png

完事
IIS19.png

WordPress

IIS20.png

权限问题

上面我们设置的临时文件夹路径为 C:\Windows\temp ,为正常使用我们要给它访问权限

安全选项卡走一波
IIS21.png
IIS22.png

下载地址

OneDrive: 本地下载

点赞
  1. Levis说道:

    正好再弄

  2. GoForce说道:

    什么?
    没沙发了?
    板凳做好喽~ :huaji:

  3. Sakura说道:

    IP忘打马拉~ :huaji:

    1. 小白-白说道:

      小问题 这机子已经删了

      1. Sakura说道:

        那就好...不然被人扫3389就难受了,另外用Windows不会菜鸡啊 :huaji2:

        1. webkv说道:

          3389修改成其它端口就可以,远程mstsc使用ssl。另外后台目录可以用内网建立虚拟目录放另外文件夹。这样只留前台作为 web访问端。遇到扫描确实难应付,最好把 udp全部关闭,ping也最好关闭,这样才会好些。

  4. 摸摸大说道:

    之前用过win2003效果还不错,当然啦主要是用来下载不错。但是在运行php,mysql,nginx性能上比linux 要差不少。linux的缺点就是管理各种权限比较费劲,而且命令也比较多,而且我不喜欢用面板。感觉面板特别鸡肋。推荐博主用lnmp.org的一键安装,用来几年了很稳定。

    1. 摸摸大说道:

      另外加一句,为什么留言不会自动保存登录记录?这个体验不太好。
      另另外,kratos-pjax 主题console.log之前会清空一些消息,有些js函数似乎有错误。请博主观察下哈。 :huaji3:

      1. 摸摸大说道:

        好像经过我观察似乎是没有开启2d的原因?后台关闭,前台函数还在生效,导致报错。

      2. 小白-白说道:

        发布都会确认 我这里是肯定不会看到错误的

        1. Hanada说道:

          你的js函数里有一句把console给清空了,有错误也看不到。我把清空函数给注释了,然后一按F12,好红。 :huaji16:

          1. 小白-白说道:

            我这使用Firefox是没有遇到报错的 不知您使用的是什么浏览器

        2. Hanada说道:

          What?我怎么成Opera了 :huaji22: 我这可是Chrome68

          1. 小白-白说道:

            噗 仅供参考 判断问题

        3. Hanada说道:

          当然是Google Chrome最新版啦 :huaji5: 我刚才在我自己网站UA判断是正确的(Chrome) :yinxian: 你是不是乱搞了什么,居然把Chrome识别成Opera :huaji15:

          1. 小白-白说道:

            如下图 本站在Chrome的上一个正式版中并没有报错
            Screenshot_20180908-083839.png

        4. Hanada说道:

          你的js函数里有一行清空错误信息的命令,加载结束以后全部错误信息都被清掉了 :huaji16:

          1. 小白-白说道:

            瞎说 只有清除控制台命令 图上已经注释掉了

        5. Hanada说道:

          其实也不是啥大问题,只是如果菜单栏是空链接(有二级菜单的菜单项通常就不放链接啦),就会被报错。

          1. 小白-白说道:

            最多只能说明你姿势不对 我的菜单也有空链接 并没有报错

        6. Hanada说道:

          Uncaught TypeError: Cannot read property 'indexOf' of undefined
          at HTMLAnchorElement. (pjax.min.js?ver=0.0.7:1)
          at HTMLDocument.dispatch (jquery.min.js?ver=2.1.4:2)
          at HTMLDocument.r.handle (jquery.min.js?ver=2.1.4:2) 从你控制台新鲜截取的 :huaji7:

          1. 小白-白说道:

            ....这玩意居然有人会去点 还会去看报错 你是第一个

        7. Hanada说道:

          :yinxian:

          1. 小白-白说道:

            已经修好了

  5. 摸摸大说道:

    对于自己安装p,m,n不如使用一键环境,自己装麻烦不说,而且很多地方没有优化。不同的服务器肯定是不能使用一样的配置的。

  6. 杨翰奇说道:

    弱弱的问句,这个泛域名证书怎么申请啊。。。

      1. 杨翰奇说道:

        。。。申请好了不会部署

  7. hk说道:

    啊 抱着狗子 不放了 (☆ω☆)

    1. 海绵说道:

      然后剧烈抖动 :huaji4:

      1. 小白-白说道:

        :huaji19: ???

      2. hk说道:

        嘿嘿嘿 你到处逛超市 哪里都去

        1. 海绵说道:

          不是 我没有 :huaji9:

    2. Ghosin说道:

      剧烈反应233

  8. Hanada说道:

    来我大LNMP阵营啊。而且还附带一个用python做的ajenti面板,提供全套流程哦:https://hanada.info/ajenti/ :huaji: 顺便感谢你的修改版主题233333 :huaji:

    1. 小白-白说道:

      不要 下一个

      1. Hanada说道:

        你看我评论下面的chrome的图标太旧了,我自己都换了个新的图标上去,你也该换换了 :huaji16:

        1. 小白-白说道:

          懒得换 能用就行 :huaji23:

  9. a632079说道:

    开 WSL 之后, 跑脚本啊 23333 (改天公开我的脚本

  10. wangwenbin说道:

    可以可以,学习一下,最近从同学那里py过来一台电脑,被我装上了2008 R2,除了MC服务器之外,还可以整个这个玩玩(80端口直接内网穿透就完事了)

当前页面评论已关闭。