PHPStudy启用HTTPS需三步:生成SSL证书并放入指定路径,启用Apache的ssl_module和httpd-ssl.conf,配置VirtualHost监听443端口并指定证书路径;还可添加HTTP自动跳转HTTPS规则。

PHPStudy 站点启用 HTTPS,本质是让内置的 Apache(或 Nginx)支持 SSL/TLS 加密通信。配置不依赖外部工具,关键在证书放置、模块启用和配置文件精准修改。只要路径、端口、文件权限三者对齐,就能跑通。
准备有效的 SSL 证书文件
本地开发推荐用 OpenSSL 生成自签名证书;上线务必用 Let's Encrypt 或云厂商(如阿里云、腾讯云)签发的正式证书。
- 执行命令生成测试证书(Windows 下需先安装 OpenSSL):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt - 得到两个必需文件:server.crt(公钥/证书)、server.key(私钥);正式证书还可能含 ca-bundle.crt(中间链)
- 把它们统一放进一个目录,例如:
D:\phpstudy_pro\Apache\conf\ssl\(路径全英文、无空格、无中文) - 确保
server.key不带密码:若生成时设了密码,用openssl rsa -in server.key -out server.key去除,否则 Apache 启动会卡住
启用 Apache 的 SSL 模块并加载配置
PHPStudy 默认未开启 HTTPS 支持,需手动激活底层能力。
- 打开 PHPStudy 主界面 → 「其他选项菜单」→ 「网站设置」→ 「Apache 配置」→ 编辑
httpd.conf - 取消以下两行的注释(删掉开头的
#):LoadModule ssl_module modules/mod_ssl.soInclude conf/extra/httpd-ssl.conf - 保存后关闭编辑器 —— 这步是启用 HTTPS 的前提,缺一不可
配置虚拟主机监听 443 端口
仅启用模块还不够,必须告诉 Apache “哪个目录、用哪张证书、走哪个端口”提供 HTTPS 服务。
立即学习“PHP免费学习笔记(深入)”;
- 编辑
conf/extra/httpd-ssl.conf,找到<VirtualHost _default_:443>区块 - 按实际修改关键项:
DocumentRoot "D:/phpstudy_pro/WWW"(你的网站根目录)ServerName localhost(或你绑定的域名,如test.local)SSLCertificateFile "D:/phpstudy_pro/Apache/conf/ssl/server.crt"SSLCertificateKeyFile "D:/phpstudy_pro/Apache/conf/ssl/server.key" - 如使用正式证书且含中间链,追加一行:
SSLCertificateChainFile "D:/phpstudy_pro/Apache/conf/ssl/ca-bundle.crt"
可选:强制 HTTP 自动跳转 HTTPS
避免用户手动输 http://,提升安全性和体验一致性。
- 回到
httpd.conf,在对应站点的<VirtualHost *:80>区块内(或主配置末尾),添加: -
RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - 保存,重启 Apache —— 此后访问
http://localhost会自动 301 跳转到https://localhost
重启 Apache 后,浏览器访问 https://localhost。首次打开会提示“您的连接不是私密连接”,点击「高级」→「继续访问」即可。地址栏出现锁形图标,说明 HTTPS 已生效。证书路径写错、扩展没启用、key 文件有密码——这三类问题占配置失败的 90% 以上,检查时优先盯住它们。



















