使用 PHP-FPM 7 的 WordPress 与 5 相比有多快?

PHP7对WordPress性能的显著提升

本文深入探讨了PHP7为WordPress带来的性能优势。通过实际测试,我们将比较WordPress在PHP 5.6和PHP 7环境下的性能差异。

此外,你还将学习如何在共享主机、虚拟专用服务器(VPS)或云平台上将WordPress从PHP 5切换至PHP 7。

PHP7于2015年发布,带来了多项性能优化,但业界对新版本的采用似乎仍有提升空间。PHP7发布信息

正如所见,尽管PHP7提供了更卓越的性能,但在市场占有率方面,它仅占约3%的份额。这难道是因为人们对它的认知不足吗?

鉴于关于PHP7与PHP5性能对比的文章众多,我决定亲自进行测试,以了解PHP7在WordPress网站上的实际速度提升。

在展示测试结果之前,先简要介绍一下PHP7的主要特点:

  • 更低的内存占用
  • 一致的64位系统支持
  • 升级的Zend引擎
  • 增强的错误处理机制
  • 新增匿名类
  • 更快的网站加载速度 (这一点毋庸置疑)

最新版本的WordPress已正式支持PHP7。接下来,让我们看看它们在PHP7下的表现。

测试细节

为了提供清晰的性能对比,我采用了以下测试方法:

  • 使用了Linode的10美元套餐进行测试。
  • 在Ubuntu 16.04 LTS上,使用EasyEngine安装了WordPress 4.7。
  • 安装了MyThemeShop的Blogging主题
  • 测试过程中未启用任何缓存插件或CDN。
  • 使用Loader工具模拟50至200个客户端的并发访问,持续1分钟。

PHP-FPM 5.6 环境下的 WordPress 性能

EasyEngine默认安装PHP-FPM 5.6。除配置WordPress、安装主题并将测试域名指向Linode VM的IP地址外,无需进行额外配置。

以下是使用Loader工具进行的测试结果:

  • 平均响应时间:11.96秒
  • 最短响应时间:0.6秒
  • 最长响应时间:19秒

PHP-FPM 7.0 环境下的 WordPress 性能

通过EasyEngine切换至PHP 7后,测试结果如下:

令人惊叹!PHP7的速度几乎是PHP5.6的两倍。PHP7在各个方面都表现出色。

  • 平均响应时间:5.1秒 (PHP 5.6 为 11.96秒)
  • 最短响应时间:0.4秒 (PHP 5.6 为 0.6秒)
  • 最长响应时间:8.2秒 (PHP 5.6 为 19秒)

仅仅将WordPress从PHP 5.6切换到PHP 7,网站加载时间就缩短了近50%。

这对于任何WordPress网站来说都是一个巨大的提升,如果你还没有使用最新版本的PHP,那么这次测试结果应该能鼓励你进行升级。

兼容性检查器

在升级之前,建议您检查您的主题和插件与PHP 7的兼容性,以避免潜在的更新问题。

可以使用PHP兼容性检查器插件(由WPEngine开发),它可以分析您现有的主题和插件,并提示它们是否与PHP 7兼容。

如何将PHP从5切换到7?

根据您使用的平台,有多种方法可以实现此目标。

如果使用EasyEngine

使用EasyEngine可能是切换PHP版本最快捷的方法之一。

登录到安装了EasyEngine的VPS/云服务器。

执行 ee 命令。

ee site update yourwebsite.com --php7

例如:

[email protected]:~# ee site update chandan.io --php7
PHP7.0 is experimental feature and it may not work with all plugins of your site.
You can disable it by passing --php7=off later.
Do you wish to enable PHP now for chandan.io?
Type "y" to continue [n]:y
Running pre-update checks, please wait...
Backup location : /var/www/chandan.io/backup/25Feb2017093100
Backing up database          [Done]
Setting up NGINX configuration      [Done]
Setting up webroot           [Done]
Reload : nginx     [OK]
Successfully updated site http://chandan.io
[email protected]:~#

使用ps命令可以验证PHP 7是否正在运行。

[email protected]:~# ps -ef|grep php
root     17274     1  0 Feb24 ?        00:00:04 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
root     26674 26541  0 09:31 pts/0    00:00:00 grep --color=auto php
[email protected]:~#

注意:如果PHP 5和PHP 7都在运行,您可能需要停止PHP 5并将其从自动启动中移除。

如果使用共享主机

如果您的共享主机提供了cPanel,您可以自行更改PHP版本。

如果您的主机不提供cPanel,您可能需要联系您的托管服务提供商。

以下截图来自SiteGround

  • 登录到您的cPanel
  • 在“软件”部分点击“PHP版本管理器”

  • 选择要更改PHP版本的网站。
  • 更改版本并点击保存。

您将看到新的PHP版本已经应用到您的网站。

恭喜!您刚刚在共享主机上提升了WordPress网站的速度。

如果在Kinsta上托管

Kinsta 是一种高端WordPress托管服务,它利用Google Cloud平台提供卓越的体验。您可以通过MyKinsta面板轻松切换PHP版本。

如果托管在云/VPS上

如果您的WordPress托管在云服务器或VPS上(例如Google Cloud、AWS、Linode、DigitalOcean等),并手动安装了所有内容,您可以执行以下步骤(以CentOS 6.x为例)来升级PHP。

  • 登录到您的CentOS虚拟机。
  • 在升级前备份虚拟机,以便在出现问题时进行回滚。
  • 删除现有的PHP版本。
yum remove php-fpm php-cli php-common
  • 安装以下仓库。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
  • 安装PHP-FPM 7及其所需模块。
yum install php70w-fpm-nginx php70w-cli php70w-mysqlnd php70w-fpm

重启Nginx、MySQL和PHP-FPM以确保加载了最新版本。您还可以访问WordPress网站以确保一切正常运行。

恭喜!您已成功安装PHP-FPM 7。

如果需要验证PHP版本,可以执行以下命令:

[roo[email protected] init.d]# /usr/sbin/php-fpm -version
PHP 7.0.16 (fpm-fcgi) (built: Feb 18 2017 10:46:38)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
[[email protected] init.d]#

结论

希望本文能帮助您了解如何为WordPress配置PHP-FPM 7及其性能优势。 赶紧升级到PHP-FPM 7,体验快速加载的WordPress网站吧!