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. numpy cookbook

    1.第一章 import numpy as np import matplotlib.pyplot as plt import scipy import PIL import scipy.misc l ...

  2. HTTP协议COOKIE和SESSION有什么区别

    1.为什么会有COOKIE这种机制 首先一种场景, 在一个网站上面, 我发起一次请求,那服务器怎么知道我是谁?是谁发起的这次请求呢,  HTTP协议是无状态的协议, 浏览器的每一次请求,服务器都当做一 ...

  3. vijos2051 SDOI2019 快速查询

    题目链接 吐槽 竟然让\(nlog\)的做法卡过去了.. 思路 因为\(1 \le q \le 10^5\),所以可以先对每个标准操作,所操作的位置进行重标号.这样所有的下标都是在\(10^5\)以内 ...

  4. 公共组件及脚手架webpack模板

    一.公共组件的创建和使用 前面已经学习vue组件时,了解了公共组件,但在脚手架项目中只使用过局部组件.这里是讲解全局组件如何在脚手架项目中去使用. 1.创建全局组件 在src/components/C ...

  5. [LeetCode] 363. Max Sum of Rectangle No Larger Than K 最大矩阵和不超过K

    Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the matrix s ...

  6. python实现的WebSocket客户端

    code #coding=utf- import json import time from websocket import create_connection ws = create_connec ...

  7. java基础之----cookie,session,jwt

    概要 web中为什么要引入cookie.session机制,为了验证用户的身份,验证用户的身份是为了系统的安全,那如果是系统和系统之间的API调用怎么办呢?因为系统之间调用往往是没有用户系统的(用户系 ...

  8. windows下zookeeper安装并发布成windows服务

    https://blog.csdn.net/yzy199391/article/details/80605195

  9. dns攻击包代码实现

    博客地址:http://home.cnblogs.com/u/zengjianrong/ 代码没有做好精简,有些多余的没有删去,因为博主太懒了哈哈 #include <stdio.h> # ...

  10. Centos7利用rsync实现文件同步

    0x01 测试环境 CentOS 7.4 Rsync服务端:192.168.204.130 CentOS 7.4 Rsync客户端:192.168.204.168 0x02 rsync同步方式 第一种 ...