操作系统环境说明:
本文以英文版 Windows Server 2008 R2 IIS 7 为例,更高版本的Windows Server 2012、2016,IIS 8、IIS 10等,安装部署操作都是一样的。
下载 PHP 及 Visual C++ 应用程序运行时组件包
PHP for Windows 官方下载地址:http://windows.php.net/download。PHP 文件和 Visual C++ Redistributable下载地址在这个页面都可以找到,两个文件都比较小。
PHP 版本:
我使用的 PHP 版本是7.X。根据操作系统和选用 Web 服务器(IIS 或者 Apache)的不同,要下载不同的文件,下载页面也有详细说明。如上图:
IIS:下载 VC15 x86Non Thread Safe或者 VC15 x64Non Thread Safe版本。
Apache:下载 VC15 x86Thread Safe或者 VC15 x64Thread Safe版本。
Visual C++应用程序运行时组件包:
目前最近版本的 PHP 都是用 Microsoft Visual Studio Visual C++ 编译的,所以在 Windows 上运行 PHP,须要安装 Visual C++ 可再发行组件包。根据所下载 PHP文件所使用的编译器不同,系统上需要安装相应要求版本的 Visual Studio C++ 应用程序可再发行运行时组件包。PHP for Windows下载页面的左侧(上图红框有标注)有说明和下载地址,直接点击进行下载。比如:
如果下载的是PHP7.2.1 VC15x86Non Thread Safe或者VC15x86Thread Safe,那么就下载Visual C++ Redistributable forVisual Studio 2017x86。
如果下载的是PHP7.2.1 VC15x64Non Thread Safe或者VC15x64Thread Safe,那么就下载Visual C++ Redistributable forVisual Studio 2017x64。
如果下载的是PHP7.1.13 VC14x86Non Thread Safe或者VC14x86Thread Safe,那么就下载Visual C++ Redistributable forVisual Studio 2015x86。
如果下载的是PHP7.1.13VC14 x64Non Thread Safe或者VC14 x64Thread Safe,那么就下载Visual C++ Redistributable forVisual Studio 2015x64。
安装Visual C++ Redistributable(C++ 应用程序运行时组件包)
双击下载好的Visual C++ Redistributable 文件,Agree,点击 Install,安装即可,比较简单。
在 IIS 上安装配置 PHP
确保 IIS 已开启 CGI 模块选项:
1. 打开 Windows Server Manager(服务器管理器),方式:
Start(Windows 开始菜单) –> Control Panel(控制面板) –> Programs and Features(程序和功能) –> Turn Windows features on or off(启用或关闭 Windows 功能)。
或者Start(Windows 开始菜单) –> Administrative Tools(管理工具) –> Server Manager(服务器管理器)。
2. 在左侧导航树,依次展开点击Server Manager –> Roles –> Web Server(IIS),在右侧点击“Add Role Services”。
3. 在Select Roles Services(选择服务器角色) 界面,确保已选中“CGI”。如果之前未选中,则选中后依次点击”Next >” –> “Install”按钮进行安装开启。
安装 PHP:
1. 直接解压下载下来的 PHP zip包件,比如 C 盘根目录 C:\PHP。
2. 打开 C:\PHP 目录,复制php.ini-production文件,去掉“-production”重命名为 php.ini。
3. 修改 php.ini 如下设置:
cgi.force_redirect =0
fastcgi.impersonate =1
;去掉前面分号";"注释,开启扩展模块
extension=curl
extension=mysqli
upload_max_filesize =20M;最大允许上传文件大小
max_execution_time =300;PHP脚本最大执行时间可以适当设置大一些,比如升级WordPress时可能超时报错
在 IIS 上配置PHP:
1. 打开 IIS。
2. 在Features View(功能视图)界面,双击Handler Mappings(处理程序映射)。
3. 进入到Handler Mappings(处理程序映射)界面。点击最右侧Action(操作)区域里的Add Module Mapping…(添加模块映射…)。
4. 在 Add Module Mapping(添加模块映射)界面:
Request path(请求路径):输入*.php。
Module(模块):选择 FastCgiModule。–如果IIS没有开启CGI是没有FastCgiModule选项的。
Executable(可执行文件):C:\PHP\php-cgi.exe。
Name(名称):PHP FastCGI。–名称随便起。
点击,OK(确定)按钮。在Add Module Mapping(添加模块映射)对话框中点击Yes(是)。
5. 在Features View(功能视图)界面,双击FastCGI Settings(FastCGI设置)。
6. 在FastCGI Setting(FastCGI 设置)界面,右键C:\PHP\php-cgi.exe,点击Edit…(编辑…)。
7. 在Edit FastCGI Application(编辑 FastCGI 应用程序)对话框界面,设置Monitor changes to file(监视对文件所做的更改)为:C:\PHP\php.ini。—如果 php.ini 配置文件更改,PHP FastCGI 进程会回收,使更改生效。
8. 测试 PHP 是否安装成功,php 程序能否运行:
在 IIS 上已存在的站点(或者新建一个站点)目录下新建一个 test.php文件,文件内容输入:。然后在浏览器里访问这个文件地址。如果如下图,则说明 PHP 安装配置 OK。
到此 IIS上 PHP 就基本安装配置完成了。
注意事项
PHP 小版本更新比较快,但是老有 bug。很多人喜欢下载最新版本,永远保持程序升级到最新版本,但是不见得 WordPress 网站就能顺利运行。一般 WordPress 主程序没有什么问题,在各个 PHP 版本运行都还可以,但是主题和插件就不一定了,所以如果网站运行正常,没有什么大问题和功能影响,建议不要随意升级 PHP,我有好几次升级完了报错又退回去,好在 PHP 安装简单。