启用Zend OPcache可显著提升PHP站点性能,具体方法包括:一、宝塔后台一键启用;二、手动编辑php.ini调优参数;三、通过命令行与PHP脚本双重验证生效状态。

如果您在宝塔面板中运行PHP站点但响应缓慢、TTFB偏高或PHP-FPM CPU占用持续较高,则可能是PHP脚本每次请求都重复执行读取、分词、解析与编译过程。启用Zend OPcache可跳过这些步骤,直接从共享内存加载已编译opcode执行。以下是开启该功能的具体方法:
一、通过宝塔后台图形化界面一键启用
此方法无需编辑配置文件,适合新手及快速部署场景,适用于所有宝塔支持的PHP版本(含PHP 7.4至8.4)。操作后OPcache扩展将被加载,基础参数自动写入。
1、登录宝塔面板,进入“软件商店”页面。
2、在已安装软件列表中找到当前网站所用的PHP版本(例如PHP 8.2),点击右侧“设置”按钮。
立即学习“PHP免费学习笔记(深入)”;
3、在PHP设置页左侧菜单中选择“安装扩展”,在扩展列表中定位到opcache,若状态为“未安装”则点击“安装”;若已显示“已安装”,则跳过此步。
4、返回设置页主界面,切换至“性能调整”选项卡。
5、勾选开启OPcache开关,并确认下方参数处于启用状态(如opcache.enable=1、memory_consumption=128等)。
6、点击右上角“保存”按钮,系统将自动重载PHP-FPM服务。
二、手动编辑php.ini启用并调优关键参数
宝塔默认参数(如max_accelerated_files=10000、memory_consumption=128MB)对中小型站点足够,但若项目PHP文件数超15000或并发量高,需手动调整以避免缓存频繁淘汰、命中率下降。此方法确保OPcache在PHP 8.4等高版本下稳定高效运行。
1、在PHP设置页中点击“配置修改”,打开当前PHP版本生效的php.ini文件。
2、查找[opcache]配置区块,确认存在且未被注释的扩展加载行:zend_extension=opcache.so(Linux)或zend_extension=php_opcache.dll(Windows)。
3、在[opcache]区块内添加或修正以下参数:
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=0
4、保存php.ini文件后,在终端执行命令重启PHP服务:sudo systemctl restart php82-fpm(请将php82-fpm替换为实际服务名,如php84-fpm)。
三、通过命令行与配置文件双重验证是否真正生效
仅勾选开关或修改php.ini不等于OPcache已在Web SAPI(如PHP-FPM)中运行。必须区分CLI与FPM环境,防止因配置路径错误、多版本共存或服务未重启导致缓存未加载。
1、在SSH中执行命令检查OPcache模块是否被PHP识别:php -m | grep opcache,若有输出则说明扩展已加载。
2、执行php -i | grep -i "opcache.enable",确认输出为opcache.enable => On。
3、在网站根目录新建文件opcache-status.php,内容为:<?php print_r(opcache_get_status()); ?>。
4、通过浏览器访问该文件,重点核验:opcache_statistics['hits'] / (hits + misses)是否稳定高于85%,且memory_usage['used_memory']不为0。











