Windows Server上安装部署WordPress(3):在IIS上安装配置PHP支持

在 Windows 操所系统上安装部署 WordPress ,本篇为 Windows Server 上安装部署 WordPress(3):在 IIS 上安装配置 PHP。由于篇幅太长,所以把整个在 Windows 上安装部署 WordPress 分成了几篇来写:

操作系统环境说明:

本文以英文版 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 for Windows 官方下载页面

PHP 版本:

我使用的 PHP 版本是7.X。根据操作系统和选用 Web 服务器(IIS 或者 Apache)的不同,要下载不同的文件,下载页面也有详细说明。如上图:

  • IIS:下载 VC15 x86 Non Thread Safe 或者 VC15 x64 Non Thread Safe 版本。
  • Apache:下载 VC15 x86 Thread Safe 或者 VC15 x64 Thread Safe 版本。

Visual C++应用程序运行时组件包:

目前最近版本的 PHP 都是用 Microsoft Visual Studio Visual C++ 编译的,所以在 Windows 上运行 PHP,须要安装 Visual C++ 可再发行组件包。根据所下载 PHP文件所使用的编译器不同,系统上需要安装相应要求版本的 Visual Studio C++ 应用程序可再发行运行时组件包。PHP for Windows下载页面的左侧(上图红框有标注)有说明和下载地址,直接点击进行下载。比如:

安装Visual C++ Redistributable(C++ 应用程序运行时组件包)

双击下载好的Visual C++ Redistributable 文件,Agree,点击 Install,安装即可,比较简单。

安装Visual C++ Redistributable(C++ 应用程序运行时组件包)

在 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”。

打开Windows Server Manager 服务器管理器

3. 在Select Roles Services(选择服务器角色) 界面,确保已选中“CGI”。如果之前未选中,则选中后依次点击”Next >” –> “Install”按钮进行安装开启。

IIS 开启 CG I支持模块选项

安装 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;最大允许上传文件大小
post_max_size = 20M;最大POST数据限制
max_execution_time = 300;PHP脚本最大执行时间可以适当设置大一些,比如升级WordPress时可能超时报错
log_errors = On; 可选配置,当出现500错误时候,可以打开这个配置记录错误日志。
error_log = {path}\php_errors.log; 错误日志输出的文件名。也可以设置成“syslog” 输出到 Windows Event。
memory_limit = 1024M; 可选设置,可以解决错误"Allowed memory size of 134217728 bytes exhausted"

在 IIS 上配置PHP:

1. 打开 IIS。

2. 在 Features View(功能视图) 界面,双击 Handler Mappings(处理程序映射)。

IIS 添加处理程序映射

3. 进入到 Handler Mappings(处理程序映射)界面。点击最右侧 Action(操作)区域里的 Add Module Mapping…(添加模块映射…)

IIS 处理程序映射 添加模块映射

4. 在 Add Module Mapping(添加模块映射)界面:

  • Request path(请求路径):输入*.php。
  • Module(模块):选择 FastCgiModule。–如果IIS没有开启CGI是没有FastCgiModule选项的。
  • Executable(可执行文件):C:\PHP\php-cgi.exe。
  • Name(名称):PHP FastCGI。–名称随便起

IIS Add Module Mapping 添加模块映射

点击,OK(确定)按钮。在 Add Module Mapping(添加模块映射)对话框中点击 Yes(是)

IIS Add Module Mapping 确认添加模块映射

5. 在 Features View(功能视图) 界面,双击 FastCGI Settings(FastCGI设置)。

IIS FastCGI Setting 设置

6. 在 FastCGI Setting(FastCGI 设置)界面,右键C:\PHP\php-cgi.exe,点击Edit…(编辑…)

IIS 编辑 PHP FastCGI Setting 设置

7. 在 Edit FastCGI Application(编辑 FastCGI 应用程序) 对话框界面,设置 Monitor changes to file(监视对文件所做的更改)为:C:\PHP\php.ini—如果 php.ini 配置文件更改,PHP FastCGI 进程会回收,使更改生效。

IIS 设置监视 PHP.ini 文件更改

8. 测试 PHP 是否安装成功,php 程序能否运行:

在 IIS 上已存在的站点(或者新建一个站点)目录下新建一个 test.php文件,文件内容输入:<?php phpinfo(); ?>。然后在浏览器里访问这个文件地址。如果如下图,则说明 PHP 安装配置 OK。

IIS 测试 PHP 安装运行

到此 IIS上 PHP 就基本安装配置完成了。

注意事项

PHP 小版本更新比较快,但是老有 bug。很多人喜欢下载最新版本,永远保持程序升级到最新版本,但是不见得 WordPress 网站就能顺利运行。一般 WordPress 主程序没有什么问题,在各个 PHP 版本运行都还可以,但是主题和插件就不一定了,所以如果网站运行正常,没有什么大问题和功能影响,建议不要随意升级 PHP,我有好几次升级完了报错又退回去,好在 PHP 安装简单。

3 Responses

  1. 奥术大师说道:

    extension_dir = “D:\php\ext” 需要开启并添加ext文件路径,否则会500报错。

  2. 提问说道:

    我在第四部完了,提示PHP Fatal error: Uncaught mysqli_sql_exception: Table ‘shujuku1.wp_options’ doesn’t exist in D:\websites\demo.wordpress.com\wp-includes\wp-db.php:2056 Stack trace: #0 用的是MYSQL8.0,PHP也是5.8,WP也是新的为什么会这样

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注