更新:本站已经升级到最新的PHP 8.2版本,未发现Wordpress主题和插件有不兼容的情况

本站出于Wordpress的兼容性考虑,一直用的PHP 7.4版本。随着 PHP 7.4不再维护,以及本月PHP 8.2正式发布,是时候需要迁移到仍在维护中的PHP 8.x版本。

PHP 8.0最吸引本人的新特性是合并了诸多性能优化,尤其是备受期待的JIT(Just in Time)编译器,能进一步提升PHP脚本的运行速度。根据官方性能测试脚本,PHP 8.0在PHP 7.4的基础上有大约10%的性能提升。PHP 8新特性详解请参考 一文详解PHP 8新特性

根据WordPress官方数据,WordPress自5.6版本开始支持PHP8.0,5.9开始支持PHP 8.1,6.1开始支持PHP8.2。本站用的最新的WordPress 6.1版本,谨慎起见选择了PHP 8.0。

安装完成后,php -v命令输出如下:

[root@dmit ~]# php -v
PHP 8.0.26 (cli) (built: Dec 5 2022 21:59:43) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.26, Copyright (c) Zend Technologies
with Zend OPcache v8.0.26, Copyright (c), by Zend Technologies

根据鸟哥PHP 8新特性之JIT简介中的介绍,JIT基于Opcache,因此其配置均在Opcache模块下。PHP官网英文手册的Opcache模块已经有JIT配置参数详细说明,中文手册页面尚未同步。本站使用的JIT配置为:

opcache.jit=tracing
opcache.jit_buffer_size=64M
opcache.jit_hot_func=32

不过因为本站使用了Nginx fastcgi_cache和WP Super Cache缓存技术,并且对热门文章做了预缓存,PHP性能早就不是瓶颈。另外根据 stitcher的性能测试,PHP 8对web应用性能提升并不明显,因此大部分访客应该感觉不到有速度的提升。

升级到PHP8.0后,测试了半个多小时未发现会对用户访问产生问题。但是本站使用的BunnyPress主题许久未更新,服务端会出现一些warning日志,根据提示稍微修改源码即可。除此之外,未看到兼容性或使用上的问题。

参考

  1. PHP 8新特性之JIT简介
  2. WordPress性能优化
  3. WordPress 6.0, PHP 8.1, and the Upcoming EOL of PHP 7.4