2025年08月02日/ 浏览 4
作为国内最流行的PHP集成环境之一,PHPStudy默认使用HTTP协议。但在实际开发中,我们常遇到需要HTTPS的场景:
通过配置SSL证书,我们可以用https://localhost
访问本地项目,极大提升开发效率。
确保你的环境满足:
– PHPStudy V8.1+(本文以Apache为例,Nginx配置类似)
– 已安装OpenSSL(PHPStudy自带)
– 管理员权限运行CMD
创建证书目录
在PHPStudy安装目录下新建cert
文件夹,路径示例:
D:\phpstudy_pro\Extensions\cert
生成私钥和证书
以管理员身份运行CMD,执行:
bash
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout localhost.key -out localhost.crt
按提示输入信息(可全部回车跳过,但Common Name需填写localhost
)
转换为PFX格式(可选)
某些场景需要PKCS12格式:
bash
openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt
打开PHPStudy面板 → 网站 → 对应站点的”配置文件”
在<VirtualHost *:80>
下方添加:
apache
<VirtualHost *:443>
ServerName localhost
DocumentRoot "D:/www/your_project"
SSLEngine on
SSLCertificateFile "D:/phpstudy_pro/Extensions/cert/localhost.crt"
SSLCertificateKeyFile "D:/phpstudy_pro/Extensions/cert/localhost.key"
</VirtualHost>
确认httpd.conf
已加载SSL模块:
apache
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
localhost.crt
→ 安装证书https://localhost
bash
netstat -ano | findstr 443
taskkill /pid 占用PID /f
chrome://flags/#allow-insecure-localhost
并启用检查是否修改了httpd.conf
但未保存,部分版本需要手动保存到phpstudy.ini
多域名配置:
为不同项目创建不同证书,修改hosts
文件配合虚拟主机使用
Let’s Encrypt实战:
使用acme.sh申请免费证书(需域名解析到本地)
PHP curl请求本地HTTPS:
添加选项绕过验证:
php
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
通过本文教程,你已经能够:
– ✓ 生成标准的自签名证书
– ✓ 配置Apache/Nginx支持HTTPS
– ✓ 解决常见的安全证书警告
– ✓ 实现本地开发环境与生产环境协议一致
开发完成后,只需将相同的配置流程应用到线上服务器即可。PHPStudy的HTTPS支持虽然需要手动配置,但整个过程对理解Web安全机制很有帮助。遇到问题建议查看PHPStudy日志文件(Apache/logs/error.log
)获取详细错误信息。
提示:生产环境务必使用CA机构颁发的正式证书,自签名证书仅限开发测试使用。