Windows10+IIS+PHP7+MySQL5.7环境搭建

IIS配置

本次搭建使用的系统是Windows7,Windows8,10与此类似。

开启IIS

开始–>控制面板–>程序和功能,点击左边栏的开启或关闭Windows功能,如图:
Windows10+IIS+PHP7+MySQL5.7环境搭建

选择Internet信息服务并选择里面的CGI。
打开浏览器,输入localhost127.0.0.1,可以正常打开网页则说明开启成功。

新建站点

  1. 打开IIS(可在开始菜单搜索IIS打开),在左边栏右击网站,选择添加网站,填写以下信息:
    Windows10+IIS+PHP7+MySQL5.7环境搭建

这里端口设为5000(避免跟其他程序端口冲突就行)。最后点击确认

  1. IIS界面左边栏,选中刚才创建的站点,双击页面中的默认文档,添加一个默认文档,名称为index.html,并移到默认文档列表顶部
  2. 在刚才所填写的物理路径目录下,创建文件index.html并写入一些字符,如hello world!
  3. 打开浏览器,地址栏输入localhost:5000,如显示hello world!则说明设置成功

    如需设置局域网访问,可使用以下方法:方法一:直接关闭防火墙(不推荐);方法二:打开防火墙,并设置入站规则,步骤如下:控制面板->windows防火墙->高级设置->入站规则->新建规则,在弹窗的新建入站规则向导中,规则类型选择端口,下一步,协议和端口选择TCP,特定本地端口填写5000,下一步,操作选择允许连接,下一步,配置文件全部勾选,下一步,给该规则命名,点击完成即可。打开CMD,输入ipconfig查看本机内网ip地址;打开浏览器,输入ip_address:5000(ip_address替换为你自己的ip)进行测试。(以上设置好之后,编辑站点目录权限,添加IUSR账户,拥有修改与写入权限)

    PHP安装

  4. 下载最新版本的PHP,网址:https://windows.php.net/download/,注意系统的版本,我使用的系统是windows7 x64,这里选择版本:VC15 x64 Non Thread Safe。下载完成后解压到指定目录,如D:\dev\PHP7

    关于tf和ntf版本的区别:ts(Thread-Safety),线性安全,多线程访问时,采用了加锁机制,php以ISAPI方式加载的时候选择这个版本;nts(None-Thread Safe)即非线程安全,php以fast-cgi方式运行的时候选择这个版本,具有更好的性能。

  5. 下载PHP运行库Visual C++ 2015 runtime并安装,网址:https://www.microsoft.com/en-gb/download/details.aspx?id=48145
  6. 在IIS中配置PHP7:打开IIS,双击处理程序映射,点击右边栏添加模块映射,填写一下信息:
    Windows10+IIS+PHP7+MySQL5.7环境搭建

点击对话框中的请求限制...,按如下设置:
Windows10+IIS+PHP7+MySQL5.7环境搭建

最后点击两次确定,配置完成。

  1. 设置默认文档:在IIS中,选中之前所创建的站点,双击页面中默认文档,进行设置,添加index.php并移动到默认文档列表顶部。
  2. 测试:在站点根目录下,创建文件index.php,写入<?php phpinfo(); ?>并保存。打开浏览器,在地址栏中输入localhost:5000,如正常打开则表示已经配置成功。
  3. 配置php.ini:将PHP目录中的php.ini-development或php.ini-production复制一份并命名为php.ini.使用编辑器,如Sublime Text打开php.ini,作如下配置并保存(注意去掉前面的分号):
    (1)设置时区:date.timezone = Asia/Hong_Kong
    (2)设置扩展文件目录:extension_dir = "ext"(位于行; On windows:后面)
    (3)由于是IIS,还需有如下配置,以提高性能和安全性:cgi.force_redirect = 0,cgi.fix_pathinfo=0,fastcgi.impersonate = 1

    MySQL安装

  4. 下载最新版本MySQL,网址:https://dev.mysql.com/downloads/mysql/,选择对应的操作系统和版本,这里选择Windows X86-64bit,ZIP-Archive,点击下载跳转到下载页面,可点击No thanks, just start my download直接下载,无需注册账号。下载完成后解压提取到指定目录,如“D:\dev\mysql”
  5. 以管理员身份启动CMD,依次执行如下命令切换目录:
    D:
    cd dev/mysql/bin
    mysqld --initialize --console

    此时会提示生成了临时密码,务必将密码记下来。
    3.CMD中执行mysqld --install将mysql安装到windows服务中,Win—+R打开命令运行窗口,运行services.msc打开windows服务,找到MYSQL,启动类型设置为自动并启动该服务。

    可将mysql.exe加入到环境变量中,这里添加D:\dev\mysql\bin到环境变量,不用每次切换目录。

  6. 修改默认密码:CMD中执行mysql -u root -p,输入之前生成的临时密码进行登录。登录之后执行alter user ‘root‘@‘localhost‘ identified by ‘your_password‘;(your_password替换为你想设置的密码),执行quit;退出,使用刚刚设置的密码进行登录,查看是否登录成功。
  7. php.ini中配置mysqli扩展的支持:添加:extension=php_mysqli.dll
  8. 测试:编辑之前创建的index.php,将代码改为:
    $result = mysqli_connect("localhost","root","your_password");
    if ($result) {
    echo "success!";
    }

    your_password替换替换为你设置的mysql密码。
    打开浏览器,输入localhost:5000,如显示success!则表示php已经成功连接到mysql。
    到此,Windows+IIS+PHP7+MySQL5.7 web服务器就搭建完成了。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/9655.html

(0)
江山如画的头像江山如画管理团队
上一篇 2021年8月14日 上午9:52
下一篇 2021年8月14日 上午10:59

99%的人还看了以下文章

  • 第三课:第一个maven项目Hello Maven

    一、Maven的简单使用 1.1、Maven项目的目录约定 MavenProjectRoot(项目根目录)|—-src|     |—-main|     |         |—-java ——存放项目的.java文件|     |         |—-resources ——存放项目资源文件,如sprin…

    2023年1月27日 编程开发
    4.9K0
  • 分享一个非常实用的连接数据库javabean

    连接mysql数据库的javabean,修改url数据库连接字符串和驱动程序加载代码,即可成为通用的数据库连接BEAN。 package com.common; import java.sql.*; public class DataBaseConn { public  Connection conn = null; public void createCo…

    2020年12月6日
    4.5K0
  • JS截取字符串方法详解:前面/中间/后面

    JS截取字符串方法,JS的match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 js截取字符串中间的内容 var str = “aaabbbcccdddeeefff”; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee js截取某个字符串前面的内容 var…

    2023年1月5日
    5.5K0
  • 免费网站打包APP,网址打包APP教程 – HBuilder

    网上有很多将网站在线打包成APP的网站,都是收费,其实网站只要做好移动端优化,或本身就是响应式网站,只需要简单的几个步骤就能把网站打包成简洁的APP。 相应工具很多,中国网页设计推荐使用:HBuilder:官网dcloud.io 会做网页就会制作APP 先学习如何制作APP   VS   先学的制作网页 其实很多APP都是利用网页打包成的… 利用HBuild…

    2019年6月24日 编程开发
    9.6K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    2.4K0
  • python 集合使用案例:选修课统计

    相关阅读:python 集合的使用,案例详解 本学期学校共开设了3门选修课,一个班有25位学生,选修的情况如下: 选修1号课程的同学有: set1 = {‘张三’, ‘李四’, ‘王五’, ‘马六’, ‘赵七’, ‘钱八’} 选修2号课程的同学有: set2 = {‘姬一’, ‘孙必’, ‘周冲’, ‘王五’, ‘方向’, ‘张玉’} 选修3号课程的同学有:…

    2020年1月22日
    8.5K0

发表回复

登录后才能评论