Windows 2016 和 Windows 10 内核是相同的,我们首先需要安装 Internet Information Services (IIS),当然 Win2016 跟 Win10 安装 IIS 的步骤稍有差别,之前本站有文章介绍:《Windows 2016 如何安装 IIS》和《Windows 10 如何安装 IIS》,当然也可以参考之前的《Win7安装IIS7.5步骤配图详解》。

所以本文以安装完 IIS 为基础,介绍 PHP 安装和配置的步骤:

第一步,下载 PHP 安装包,并配置 php.ini

1.下载 PHP 安装包:(PHP 下载地址:http://windows.php.net/download/),这里以最新的 PHP 7.2.0 为例,最新的 PHP 有四个版本,分别是 32 位的 VC15 x86 Non Thread Safe / VC15 x86 Thread Safe 和 64 位的 VC15 x64 Non Thread Safe / VC15 x64 Thread Safe,如果要想用于 IIS 则需要安装 Non Thread Safe 版,也就是下载下来的文件里带 nts 的。

如果操作系统是64位的并且配置还可以,尽量选择64位的,也就是选择安装 php-7.2.0-nts-Win32-VC15-x64.zip,如果选择32位,可以选择安装 php-7.2.0-nts-Win32-VC15-x86.zip 。

2.解压 PHP 压缩包:下载完PHP安装包之后,将压缩包内所有文件解压到电脑的某个目录,比如本案例中是解压到了 E:\IIS\soft\php-7.2.0\ 文件夹下面了。

3.进行 php.ini 设置,在 PHP 解压出来的文件中可以找到 php.ini-development 和 php.ini-production 文件,首先将 php.ini-development 复制备份一下,然后将 php.ini-development 重命名为 php.ini。然后用文本编辑器(比如 Windows 自带的记事本就可以)打开 php.ini 文件,然后找到下面等号前面的字段,将前面的分号删除,并安装下面进行修改:

1
2
3
4
5
6
7
8
extension_dir = "E:\IIS\soft\php-7.2.0\ext" ;设置php模块路径
date.timezone = PRC ;设置时区为中国时区
short_open_tag = On ;php支持短标签 可选
cgi.force_redirect = 0 ;开启以CGI方式运行php
fastcgi.impersonate = 1 ;FastCGI相关设置
cgi.rfc2616_headers = 1 ;为什么要改这一项暂不清楚
cgi.fix_pathinfo = 0 ;将1改为0,为了防止 FastCGI解析漏洞
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED ;将错误提醒修改为标准模式

然后找到以下 php 扩展模块,根据需要选择开启,取消前面的分号为开始相应扩展模块:

1
2
3
4
5
6
7
extension=curl
extension=gd2
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=xmlrpc

注意:这里要注意一点,PHP 7 以后的版本不支持 mysql 这个扩展了,可以通过 mysqli.dll 和 pdo_mysql.dll 两个扩展来连接 MySQL 数据库。

通过 mysqli.dll 扩展连接 MySQL 数据库的方法:https://www.icoa.cn/a/799.html

第二步,对 IIS 进行设置以支持 PHP

1.打开 IIS,找到 处理程序映射,双击打开。

2.打开 处理程序映射 之后,点击右边的 添加模块映射...

3.打开 添加模块映射 之后,按照下面填写相关信息,其中 请求路径 填写 *.php可执行文件 选择自己安装路径里的 php-cgi.exe 文件即可,最后点确定

4.会弹出 要为此可执行文件创建 FastCGI 应用程序吗?点  即可。

5.然后返回 IIS,点击左侧的 计算机名称,然后在右边找到 FastCGI 设置,双击打开。

6.打开 FastCGI 设置 之后,选择 php-cgi.exe 文件,然后点击右边的 编辑

7.在打开的对话框中,找到 FastCGI 属性 中的 监视对文件所做的更改,点击后面的 ... 然后选择刚才设置的 php.ini 文件

8.然后选中 环境变量,并点击后面的 ...

9.在打开的 对话框 中点击左边的 添加

10.在右边的 Name 和 Value 中分别按照下图输入相关信息,点确定。

1
2
Name:PHP_FCGI_MAX_REQUESTS
Value:10000

11.返回 编辑 FastCGI 应用程序 对话框,点击 确定,完成设置。

PHP 的安装和设置基本完成,在网站目录里放一个 PHP 文件测试一下吧。

比如著名的 Hello World!

1
2
3
<?php
echo "Hello World";
?>

Windows 2016 & Windows 10 中IIS安装和配置PHP的步骤的更多相关文章

  1. 用 EasyUEFI 在 Win8/10 中硬盘安装 Ubuntu16.04图文教程

    用 EasyUEFI 在 Win8/10 中硬盘安装 Ubuntu 作者:TeliuTe 来源:基础教程网 1.准备Ubuntu安装文件 1)下载带amd的64位 Ubuntu 桌面版光盘镜像文件,如 ...

  2. Windows Server 2012/2012 R2:安装和配置 SMTP 服务器

    Windows Server 2012/2012 R2:安装和配置 SMTP 服务器 安装 SMTP 服务器 以下是安装 SMTP 服务器功能的步骤: 打开“服务器管理器”:单击键盘上的 Window ...

  3. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  4. linux下vsftpd的安装及配置使用详细步骤(推荐)

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BS ...

  5. Oracle10g 64位 在Windows 2008 Server R2 中的安装 解决方案

    背景: 操作系统Windows 2008 Server R2 要安装Oracle10g 64位版本 安装时出现如下错误: 检查操作系统版本:必须是5.0,5.1,5.2 or 6.0.实际为6.1 未 ...

  6. Oracle10g 64位 在Windows 2008 Server R2 中的安装 DBconsole无法启动

    致谢!本文参考http://www.cnblogs.com/leiOOlei/archive/2013/08/19/3268239.html 背景: 操作系统Windows 2008 Server R ...

  7. Windows下php,mysql,apache相关安装与配置,完善中…

    PHP 的安装 由于php是一个zip文件(非install版),安装较为简单解压就行.把解压的 php5.2.1-Win32重命名为 php5.并复制到安装盘目录下.例如安装路径为 c:\php5 ...

  8. Windows下的Jdk 1.7*安装并配置(图文详解)

    不多说,直接上干货! 很多人很少去想,为什么在windows下,安装完Jdk的安装包之后,还需要去配置环境变量,只是知道要这么去做,没有想过为什么要去这么做? 答:由于java是平台无关的 ,安装jd ...

  9. Scala2.10.4在CentOS7中的安装与配置

    随着基于内存的大数据计算框架——spark的火爆流行,用于编写spark内核的Scala语言也随之流行开来.由于其编写代码的简洁性,受到了越来越多程序员的喜爱.我今天给大家展示的时Scala2.10. ...

随机推荐

  1. html--前端jquery初识

    一.把 jQuery 添加到您的网页如需使用 jQuery,需要下载 jQuery 库,然后把它包含在希望使用的网页中.jQuery 库是一个 JavaScript 文件,您可以使用 HTML 的 & ...

  2. Asp.Net Core 中的环境变量

    Asp.Net Core 中的环境变量 软件开发环境在大多数软件开发组织中,我们通常具有以下开发环境. 开发环境--Development 演示(模拟.临时)环境--Staging 生产环境-- Pr ...

  3. [LeetCode] 650. 2 Keys Keyboard 两键的键盘

    Initially on a notepad only one character 'A' is present. You can perform two operations on this not ...

  4. API加密框架原理解密

    关于框架的使用文章请参考: 前后端API交互如何保证数据安全性?:http://cxytiandi.com/blog/detail/20235 API数据加密框架monkey-api-encrypt: ...

  5. SpringCloud微服务实现生产者消费者以及ribbon负载均衡

    一.SpringCloud_eureka_server 1.导入依赖 <dependencies> <dependency> <groupId>junit</ ...

  6. ssm架构数据库连接字符串配置到外部报错

    报错: Could not load driverClass ${jdbc.driver} 解决办法: 将 <bean class="org.mybatis.spring.mapper ...

  7. JS存取Cookies值

    这里对cookie进行了说明,也介绍了几个方法,但是我要取我存的cookie时取不到,他的方法只是针对存的  名字-值,不涉及键,所以自己写了个方法,来满足我的需求. 封装了简单存取Cookie: / ...

  8. 使用windows 上的远程连接来远程Linux Ubuntu系统的设置

    实验环境: Windows 10 , VMware Workstation ,Ubuntu16.04 1.root登录ubuntu,然后执行下面的命令 # root账户登录ubuntu ,执行下面的命 ...

  9. Mybatis成为Java互联网时代首选持久框架的原因

    持久层可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏(大部分的重要数据都会有相关的备份机制),在断电或者其他情况下,重新开启系统仍然可以读取这些数据.一般执行持久任务的都是数据库系统.持久 ...

  10. mysql判断是否存在数据库和表,进行删除和创建

    1.存在莫数据库,则删除创建一个新库 drop database if exists `tpm_business`; CREATE DATABASE tpm_business DEFAULT CHAR ...