在Windows10上部署WordPress和EasyWebinar

因为一些限制,来自IIS和EasyWebinar插件以及WordPress最新版带来的。
使用的WordPress版本是5.7(目前最新版),该版本最低支持PHP PHP/5.6.20
EasyWebinar插件版本显示的是 EWP(4.2.12)。
当使用最新版PHP的时候,测试使用的是PHP/8.0.3,将插件安装到WordPress上时,Easy Webinar可以正常启用禁用,但是Easy Webinar Widget无法启用,报错是发生了一个致命错误,但是又不知道是什么错误。后来测试不使用PHP7/8的版本就没问题。
所以为了使用Easy Webinar Widget和WordPress5.7,PHP版本只能选择PHP/5.6.20~5.6.40之间的版本。这里选择PHP/5.6.40(目前5的最新版)

如果部署到IIS,PHP只能使用非线程安全的版本。x86或者x64版本都ok,但是有一个WinCache插件,这个是PHP缓存插件,该插件只支持x86不支持x64,如果要使用该插件,则只能使用x86版本的PHP。这里需要使用该插件,所以php版本选择为非线程安全x86版本5.6.40版本。

文件准备:

# 一台Window10操作系统,我使用的是 Windows 10 Pro 20H2 19042.867

# php-5.6.40-nts-Win32-VC11-x86.zip
  https://windows.php.net/downloads/releases/archives/
    https://windows.php.net/downloads/releases/archives/php-5.6.40-nts-Win32-VC11-x86.zip

# 一个可以正常使用的MySql数据库,我这里使用的是 mariadb-10.5.9-winx64.msi
  https://mariadb.org/download/

# WinCache 1.3 for PHP 5.6 
  https://sourceforge.net/projects/wincache/files/wincache-1.3.7/
    https://sourceforge.net/projects/wincache/files/wincache-1.3.7/wincachewpi-1.3.7.12-5.6-nts-vc11-x86.exe/download

# WordPress 5.7 
  https://wordpress.org/download/releases/ 
    https://wordpress.org/wordpress-5.7.zip

步骤:

  1. 启用Window10中的IIS,启用时需要同时勾选CGI选项。

  2. 配置PHP https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php#13-download-and-install-php-manually

2.1 解压文件php-5.6.40-nts-Win32-VC11-x86.zip,这里解压到C:\Data\PHP\php
2.2 解压WinCache到任意目录,并将文件php_wincache.dll复制到目录C:\Data\PHP\php\ext
2.3 复制一份文件C:\Data\PHP\php\php.ini-production并重命名为php.ini
2.4用记事本打开文件C:\Data\PHP\php\php.ini并修改以下选项
2.4.1 修改选项date.timezone,这里设置为date.timezone = America/New_York
2.4.2 修改选项upload_max_filesize,这里设置为upload_max_filesize=10M,因为EasyWebinar插件大小是7兆多,默认的2兆不够用。
2.4.3 取消对改行的注释注释 extension=php_mysqli.dll,为了访问mysql数据库
2.4.4 取消注释 extension_dir = "ext",该步骤是为了启用插件
2.4.5 取消注释 extension=php_curl.dll,因为Easy Webinar使用到了curl
2.4.6 保存修改好的文件
2.4.7 配置环境变量,将路径C:\Data\PHP\php加入PATH环境变量
2.4.8 打开一个CMD,然后输入PHP,如果能正常执行并且未输出Warning,则PHP环境配置正常。可能会遇到一个MSVCR100.dll的错误,下载安装该文件即可:https://www.microsoft.com/en-us/download/details.aspx?id=30679

  1. 配置PHP For IIS

3.1 打开IIS Manager,左侧菜单选择根目录,在中间面板的IIS节点选择Handler Mapping
3.2 在Action面板选择Add Module Mapping
3.3 按照图片输入,然后保存,前两项是固定的,第三项选择PHP安装目录的PHP-CGI.exe文件。第四项可以随便输入,这里使用的是PHP FastCGI

3.4 在左侧菜单选择根目录,IIS节点上选择Default Document,然后将index.phpdefault.php添加进去。
3.5 测试IIS是否部署正常 https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php#to-test-your-php-installation

  1. 安装MariaDB
    这个比较简单,全部使用的默认选项。

  2. 配置WordPress
    因为我的电脑80端口已经使用掉了,所以这里使用81端口,目录为C:\inetpub\wwwrootphp

5.1 因为WordPress需要对网站根目录有写权限,需要将两个用户添加到该目录中IUserIIS_IUsers,我这里设置了全部访问权限。
5.2 将wordpress-5.7.zip解压到目录C:\inetpub\wwwrootphp
5.3 因为EasyWebinar需要一个外网域名,在本机部署的程序需要可以在外网能访问到,而且必须使用外网域名,使用局域网IP或者Localhost部署好之后是无法使用的,这里推荐使用frp或者ngrok做一个外网映射。
5.4 设置好WordPress网站,并按照该教程安装插件:https://support.easywebinar.com/en/articles/1288626-installing-the-wordpress-plugin-as-an-optional-publishing-option

  1. 如果一切正常,EasyWebinar就可以正常使用了

参考:
Configure a PHP Website on IIS https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configure-a-php-website-on-iis
missing MSVCR100.dll https://www.microsoft.com/en-us/download/details.aspx?id=30679
https://app.easywebinar.com/download-plugin/
https://support.easywebinar.com/en/articles/1288626-installing-the-wordpress-plugin-as-an-optional-publishing-option

posted @ 2021-03-15 00:06  nil  阅读(161)  评论(0编辑  收藏  举报