PHP的zip扩展用于脚本中创建、解压ZIP文件,需在phpStudy中勾选php_zip并重启服务;Gzip压缩则由Apache模块实现网页传输压缩,二者功能不同,不可混淆。

phpstudy 本身不提供“zip 扩展压缩文件”这个功能,你可能混淆了两个概念:PHP 的 zip 扩展(用于 PHP 脚本中读写 ZIP 文件)和 Gzip 压缩(HTTP 层传输压缩)。下面分清楚讲,避免装错、配错、测错:
一、启用 PHP 的 zip 扩展(处理 ZIP 文件用)
这个扩展让你的 PHP 代码能创建、解压、读取 .zip 文件,比如用 ZipArchive 类。它和网页加载速度无关。
- 打开 phpStudy 面板 → 点击「其他选项菜单」→「PHP 扩展及设置」→「PHP 扩展」
- 在列表中找到 php_zip(注意不是 php_zlib),勾选它
- 点击右下角「应用」或重启 Apache/Nginx 服务
- 验证是否生效:新建一个
info.php放到www目录,内容为<?php phpinfo(); ?>,浏览器访问,搜索zip,看到zip support => enabled即成功
二、开启 Gzip 压缩(加快网页传输用)
这才是让 HTML/CSS/JS 等资源“变小再发”的机制,和“zip 扩展”无关,但常被误称为“开启 zip 压缩”。正确叫法是 HTTP Gzip 压缩。
- 进入 phpStudy 安装目录 → 找到 Apache 的配置文件:
Apache\conf\httpd.conf - 用记事本打开,搜索并取消注释这两行(去掉前面的
#):LoadModule deflate_module modules/mod_deflate.soLoadModule headers_module modules/mod_headers.so - 在文件末尾添加以下配置块(或找到已有
<IfModule mod_deflate.c>并补充内容):
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json
</IfModule>
DeflateCompressionLevel 6
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|pdf|ico|woff2?)$ no-gzip dont-vary
</IfModule> - 保存后,在 phpStudy 面板中重启 Apache,即可生效
- 验证方式:F12 打开浏览器开发者工具 → Network 标签 → 刷新页面 → 点任意请求 → 查看 Response Headers 中是否有
Content-Encoding: gzip
三、常见误区提醒
- 不要试图用 zip 扩展来“压缩网页输出”——它做不到;Gzip 是 Web 服务器(Apache/Nginx)的功能
- php.ini 中的
zlib.output_compression = On是另一套压缩机制,不推荐与 mod_deflate 同时启用,易冲突 - 如果启用了 CDN(如 Cloudflare),Gzip 可能在 CDN 节点已生效,本地测试需绕过 CDN 或查 CDN 设置
- 静态资源(图片、字体)默认不建议 Gzip,压缩效果差还白耗 CPU,上面配置里已排除常见格式



















