Gzip压缩需在Web服务器层(Nginx/Apache)启用,宝塔中可通过图形界面一键开启、手动修改Nginx配置或配置Apache mod_deflate实现,最后用开发者工具验证Content-Encoding: gzip响应头。

如果您在宝塔面板中运行 PHP 8.4 环境的网站,但页面资源(如 HTML、CSS、JS)未被压缩传输,则可能影响加载速度。Gzip 压缩需在 Web 服务器层(Nginx 或 Apache)启用,而非 PHP 版本本身直接控制。以下是针对 PHP 8.4 站点在宝塔环境下启用 Gzip 压缩的具体操作步骤:
一、通过网站设置图形界面启用 Gzip
该方法适用于使用 Nginx 或 Apache 作为 Web 服务器且宝塔版本支持 Gzip 开关的站点,无需手动编辑配置文件,操作最简捷,适合新手用户。
1、登录宝塔面板,点击左侧菜单【网站】。
2、在网站列表中找到目标 PHP 8.4 站点,点击其右侧的【设置】按钮。
立即学习“PHP免费学习笔记(深入)”;
3、在弹出窗口中切换至【GZIP 压缩】选项卡。
4、勾选启用 GZIP 压缩复选框。
5、确认下方所列 MIME 类型包含 text/css、application/javascript、text/html、text/xml等常用类型(默认已包含)。
6、点击【保存】,系统自动重载 Nginx/Apache 配置。
二、通过 Nginx 配置文件手动添加 Gzip 规则
当图形界面选项不可见或需精细控制压缩等级与类型时,可直接修改站点对应的 Nginx 配置文件。此方式对 PHP 8.4 环境完全兼容,且支持扩展压缩范围(如字体、SVG 等)。
1、进入【网站】→选择目标站点→点击【配置文件】。
2、在配置文件末尾、最后一个 } 符号之前,插入以下完整 Gzip 配置块:
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_min_length 1k;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types image/svg+xml text/plain text/html text/xml text/css text/javascript application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript application/x-font-ttf application/vnd.ms-fontobject font/opentype font/ttf font/eot font/otf;
3、检查语法:点击右上角【重载配置】按钮,若提示“配置文件测试成功”,则保存生效。
4、重启 Nginx:返回【软件商店】→找到已安装的 Nginx →点击【重启】。
三、通过 Apache 配置启用 mod_deflate 压缩
若您的 PHP 8.4 站点运行于 Apache 环境,需确保 mod_deflate 模块已启用,并在站点根目录 .htaccess 或主配置中声明压缩规则。该方式不依赖 PHP 版本,对 PHP 8.4 完全适用。
1、进入【软件商店】→找到已安装的 Apache →点击【设置】→【配置修改】。
2、确认以下两行未被注释(即开头无 # 号):
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
3、在 Apache 主配置末尾或站点根目录的 .htaccess 文件中添加如下内容:
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/xml
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|pdf|zip|exe|avi|mp3|mp4|rar)$ no-gzip dont-vary
4、保存后,返回【软件商店】→点击 Apache 【重启】。
四、验证 Gzip 是否生效
无论采用上述任一方法,均需通过浏览器开发者工具确认响应头是否携带压缩标识,避免配置未实际加载或被 CDN 缓存覆盖。
1、打开目标网站任意页面,按 F12 打开开发者工具。
2、切换至【Network】标签,刷新页面。
3、点击一个 HTML 或 JS 文件,在右侧 Headers 面板中查找 Content-Encoding: gzip 字段。
4、若存在该字段,且 Response 大小明显小于 Size 列的原始大小,则表示 Gzip 已成功启用。
5、如未出现,检查是否启用了 CDN:若使用 CDN,请登录对应平台(如 Cloudflare、阿里云 CDN),确认其 Gzip 功能也已开启并设为“自动”或“始终开启”。











