参考以下连接
https://www.zibll.com/1997.html
当前推荐组合
现在强烈推荐的性能最佳组合为:PHP 8.4+,MySQL 8.0+,NGINX 1.25+,WordPress 6.8+,zibll 8.2+
当前网站系统的配置如下:centos7 2C 2G
- 最高支持 php版本 8.3.30,当前系统暂不支持php-8.4/8.5 会尽快支持,如需使用php-8.4/8.5,建议使用Debian-11+/Ubuntu22+进行安装。也不支持 php8.3.31,因为centos7 默认openssl是OpenSSL 1.0.2k-fips ,安装php8.3.31需要OpenSSL 1.1.1w 及以上
- 最高支持 mysql版本:8.4.0 ,如果在往上升级 至少需要[4000MB]内存才能安装。
- redis版本:7.4.7
php加载的扩展
8.4版本
目前在用版本,由于PHP 在某个版本之后(貌似是8.0开始)默认居然不自带mbstring组件了,这个需要手动安装,如果不安装网站会报错,比如这个错误。
![图片[1]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260526175355506-image.png)
![图片[2]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260526175120229-image.png)
![图片[3]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260526175141404-image.png)
![图片[4]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260526175201831-image.png)
![图片[5]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260526175223221-image.png)
![图片[6]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260527103434176-image.png)
以下列出的是所有的扩展,包括系统自带的
| 扩展名 | 核心作用 |
|---|---|
| Core | PHP 核心引擎,提供基础语言特性(变量、函数、类等),无法禁用 |
| date | 日期和时间处理函数(如 date ()、time ()、时区操作) |
| libxml | XML 解析的底层库,被 dom、SimpleXML、xmlreader 等扩展依赖 |
| openssl | 提供 SSL/TLS 加密连接(HTTPS、安全套接字),用于远程请求和密码操作 |
| pcre | 提供 Perl 兼容的正则表达式支持(如 preg_match) |
| sqlite3 | 内置轻量级 SQLite 数据库支持,允许 PHP 操作 .sqlite 文件 |
| zlib | 压缩 / 解压功能(gzip),常用于 HTTP 压缩和文件处理 |
| bcmath | 高精度数学运算(任意精度十进制计算),适合金额等场景 |
| ctype | 字符类型检测(如是否为字母、数字) |
| curl | 强大的 HTTP 客户端库,支持多种协议(HTTP、FTP 等),用于远程请求 |
| dom | 操作 XML/HTML 文档的 DOM API,用于解析和修改文档树 |
| filter | 数据过滤和验证(如验证邮箱、清洗用户输入) |
| ftp | 提供 FTP 协议客户端功能(上传、下载、文件管理) |
| gd | 传统图像处理库(绘制、缩放、水印等),质量低于 ImageMagick |
| gettext | 国际化支持(多语言翻译),通过 .po/.mo 文件实现界面本地化 |
| hash | 提供多种哈希算法(MD5、SHA1、SHA256 等),用于密码、校验 |
| iconv | 字符编码转换(如 UTF-8 转 GBK) |
| intl | 国际化扩展(Unicode 支持),包含区域格式化、音译、日历等高级功能 |
| json | 解析和生成 JSON 格式数据(json_encode/decode) |
| SPL | 标准 PHP 库(数据结构、迭代器、异常类等),核心组件 |
| session | 会话管理(用户态 session 存储、$_SESSION) |
| pcntl | 进程控制扩展(仅 Unix/Linux),支持创建子进程、信号处理(不适用于 Web 环境) |
| standard | PHP 标准函数库(字符串、数组、文件系统等基础函数),内置必选 |
| mysqlnd | MySQL 本地驱动(替代 libmysql),作为 mysqli 和 PDO_mysql 的底层驱动 |
| PDO | PHP 数据对象(数据库抽象层),统一接口访问多种数据库 |
| pdo_mysql | PDO 驱动,用于 MySQL/MariaDB 数据库 |
| pdo_sqlite | PDO 驱动,用于 SQLite 数据库 |
| Phar | 打包和运行 PHP 归档文件(.phar),类似 Java 的 JAR |
| posix | 提供 POSIX 标准系统调用(进程用户、权限、PID 等),仅 Unix |
| random | PHP 8.2+ 新增的随机数生成器(安全、现代接口) |
| Reflection | 反射 API,运行时获取类、方法、属性信息,用于元编程 |
| mysqli | MySQL 增强扩展,支持面向对象、预处理语句 |
| shmop | 共享内存操作(读写系统共享内存段),用于进程间通信 |
| SimpleXML | 简单易用的 XML 解析扩展,将 XML 转为对象 / 数组 |
| soap | 支持 SOAP 协议(Web 服务),创建客户端或服务端 |
| sockets | 底层套接字通信(TCP/UDP/Unix Socket),实现自定义网络协议 |
| sodium | 现代加密库(libsodium),提供加密、解密、签名等安全功能 |
| sysvsem | System V 信号量,用于进程间同步和互斥 |
| tokenizer | 将 PHP 代码拆分为词法标记,用于代码分析或语法高亮 |
| xml | 原生的 XML 解析器(基于 libxml2),提供 SAX 风格解析 |
| xmlreader | 基于流式读取 XML(类似拉取解析器),内存占用低 |
| xmlwriter | 基于流式生成 XML 文档,向后逐段写入 |
| zip | 处理 ZIP 压缩文件(创建、解压、列出文件),支持加密 |
| fileinfo | 根据文件头检测真实 MIME 类型(如 image/jpeg),替代不安全的文件扩展名判断 |
| memcached | 高性能内存对象缓存客户端,用于连接 Memcached 服务(需单独安装服务) |
| mbstring | 多字节字符串处理(UTF-8、中文、日文等),支持 mb_substr 等函数 |
| igbinary | 高效序列化器,替换 PHP 原生 serialize,数据更小更快(配合 memcached/redis) |
| redis | 连接 Redis 键值存储服务器的客户端扩展 |
| exif | 读取图像中的 EXIF 元数据(拍摄参数、GPS 等) |
| imagick | ImageMagick 库的 PHP 封装,提供高质量图像处理(缩放、滤镜、PDF 缩略图等) |
| Zend | Zend 引擎核心(负责脚本编译与执行),底层组件无法禁用 |
| OPcache | 字节码缓存扩展,将 PHP 脚本预编译字节码存入内存,大幅提升性能 |
安全设置
教程来源:https://mp.weixin.qq.com/s/DnqsI9ccddxlic3RT2tVZg
![图片[7]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20241206093538249-image.png)
站点健康检查
当出现:根据 WordPress 站点健康检查的提示,你的站点存在 “自动加载选项过多” 的问题,当前有 916 个自动加载选项(2MB),这可能会影响站点性能。就需要优化了。
原因是:
在 WordPress 里,很多插件和主题会把一些设置信息 保存在数据库里,比如:
你设置的网站标题
你用的主题颜色
某个插件的开关状态
这些信息都保存在一个叫 wp_options 的数据库里。
“自动加载选项” 就是:每次有人访问你的网站时,WordPress 都会自动把这些设置从数据库里取出来,不管用不用得上。
步骤 1 :查询数据库中有哪些自动加载的项
select * from wp_options where autoload = 'yes'
步骤 2:把 yes 修改为 no
-- 关闭邮件插件的通知
UPDATE wp_options SET autoload = 'no'
WHERE option_name = 'wp_mail_smtp_review_notice';
-- 关闭 LiteSpeed 插件的大量配置缓存(LiteSpeed 会自动重建)
UPDATE wp_options SET autoload = 'no'
WHERE option_name LIKE 'litespeed.conf.%'
AND option_name NOT IN (
'litespeed.conf.api_key',
'litespeed.conf.server_ip',
);
-- 关闭其他
UPDATE wp_options SET autoload = 'no'
WHERE option_name LIKE 'show_%' or option_name LIKE 'close_%'
or option_name LIKE 'avatar_%';
redis 缓存文件
#这是缓存文件,如果从页面上缓存没有清除,就直接删除这个文件即可
/root/wangjian.run/wp-content/object-cache.php
redis关闭错误显示
启用了Redis Object Cache插件后,如果中途服务器redis意外关闭了(例如内存超限,CPU超负荷等),那么默认会直接显示错误,且无法正常访问网站,我们可以通过在wp-config.php文件中添加WP_REDIS_GRACEFUL参数,来关闭错误显示,这样即使redis崩了,也不影响网站正常访问,只是没有缓存罢了
在网站根目录找到wp-config.php文件,打开后在正文中添加WP_REDIS_GRACEFUL参数
![图片[8]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260526185402474-image-1832x1080.png)
#关闭redis的 debug 的显示
define('WP_REDIS_GRACEFUL',true);
宝塔安装的软件
![图片[9]-WordPress优化加速教程及安全设置-秋风落叶](https://wangjian.run/wp-content/uploads/2023/10/20260527105425248-image.png)
