phpStudy配置SSL证书完整教程:本地Windows环境部署HTTPS

a
admin
作者
2026-08-13
发布日期
约 19 分钟
阅读时间

phpStudy配置SSL证书完整教程:本地Windows环境部署HTTPS

phpStudy是国内最流行的Windows本地PHP开发环境集成包,本地开发时经常需要测试HTTPS功能。phpStudy配置SSL证书有两种方式:图形界面配置和手动修改配置文件。这篇把两种方式都讲清楚。

适用场景

  • 本地开发环境测试HTTPS功能
  • 微信小程序本地调试(要求HTTPS)
  • 本地测试OAuth登录回调
  • 本地测试PWA、Service Worker等功能
  • 学习和研究SSL/TLS协议

注意:phpStudy配置SSL证书主要用于本地开发测试,生产环境建议使用Linux + Nginx或Apache。

准备工作

第一步:安装phpStudy

从phpStudy官网下载并安装最新版本(推荐V8.x)。

支持的Web服务器

  • Apache(推荐,配置简单)
  • Nginx(需要手动配置)

第二步:申请SSL证书

本地开发推荐两种方式

方式一:申请真实的免费SSL证书

如果有一个真实域名解析到本地(通过修改hosts文件),可以申请真实的SSL证书:

  1. sslmianfei.com 申请ZeroSSL免费证书
  2. 下载Nginx格式的证书文件(fullchain.crtprivate.key

方式二:生成自签名测试证书

如果没有真实域名,可以用 在线测试证书生成工具 生成自签名证书:

  1. 访问 在线测试证书生成工具
  2. CN填写 localhost127.0.0.1
  3. SAN字段填写 localhost,127.0.0.1
  4. 点击”生成CSR和私钥”
  5. 下载证书和私钥

自签名证书的注意

  • 浏览器会报警告”证书不受信任”
  • 需要手动把证书导入到浏览器的受信任根证书库
  • 只能用于本地测试,不能用于生产环境

第三步:修改hosts文件(可选)

如果使用真实域名,需要修改hosts文件让域名指向本地:

Windows hosts文件位置C:\Windows\System32\drivers\etc\hosts

用记事本以管理员身份打开,添加:

127.0.0.1   yourdomain.com
127.0.0.1   www.yourdomain.com

保存后,访问 yourdomain.com 会指向本地127.0.0.1。

方式一:phpStudy图形界面配置SSL(Apache)

这是最简单的方式,适合phpStudy V8.x版本。

第一步:启动Apache

  1. 打开phpStudy
  2. 启动Apache(如果使用Nginx,请参考方式二)

第二步:放置证书文件

把证书文件放到phpStudy的Apache配置目录:

C:\phpstudy_pro\Extensions\Apache2.4.39\conf\ssl\

如果没有ssl目录,手动创建

需要的文件:

  • server.crt(证书文件,包含fullchain)
  • server.key(私钥文件)

注意:如果是sslmianfei.com下载的证书,把 fullchain.crt 重命名为 server.crtprivate.key 重命名为 server.key

第三步:通过phpStudy界面配置

  1. 打开phpStudy
  2. 点击”网站” → 找到目标网站 → “管理” → “修改”
  3. 在”网站配置”中:
  • 协议:选择”HTTPS” 或勾选”启用SSL”
  • SSL证书:浏览选择 server.crt
  • SSL私钥:浏览选择 server.key
  • 端口:443
  1. 点击”确认”或”保存”
  2. phpStudy会自动重启Apache

第四步:验证HTTPS

  1. 浏览器访问 https://localhosthttps://yourdomain.com
  2. 检查地址栏是否显示小锁(真实证书)或警告(自签名证书)
  3. 如果是自签名证书,点击”高级” → “继续前往”

方式二:手动修改Apache配置文件

如果图形界面配置不生效,或需要更精细的控制,手动修改配置文件。

第一步:编辑httpd-ssl.conf

文件位置

C:\phpstudy_pro\Extensions\Apache2.4.39\conf\extra\httpd-ssl.conf

用记事本或VSCode打开,找到或添加以下配置:

Listen 443

SSLPassPhraseDialog  builtin
SSLSessionCache        "shmcb:C:/phpstudy_pro/Extensions/Apache2.4.39/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost _default_:443>
    DocumentRoot "C:/phpstudy_pro/WWW/yourdomain"
    ServerName yourdomain.com:443
    ServerAdmin admin@yourdomain.com

    SSLEngine on
    SSLCertificateFile "C:/phpstudy_pro/Extensions/Apache2.4.39/conf/ssl/server.crt"
    SSLCertificateKeyFile "C:/phpstudy_pro/Extensions/Apache2.4.39/conf/ssl/server.key"

    <Directory "C:/phpstudy_pro/WWW/yourdomain">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

关键参数说明

  • DocumentRoot:网站根目录
  • ServerName:网站域名
  • SSLCertificateFile:证书文件路径
  • SSLCertificateKeyFile:私钥文件路径

第二步:确保加载SSL模块

编辑httpd.conf

C:\phpstudy_pro\Extensions\Apache2.4.39\conf\httpd.conf

确认以下模块已加载(去掉前面的#):

LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule headers_module modules/mod_headers.so

# 引入SSL配置
Include conf/extra/httpd-ssl.conf

第三步:配置HTTP跳转HTTPS

在httpd-vhosts.conf中添加80端口的跳转

C:\phpstudy_pro\Extensions\Apache2.4.39\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "C:/phpstudy_pro/WWW/yourdomain"
    ServerName yourdomain.com
    RewriteEngine on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

第四步:重启Apache

  1. 回到phpStudy主界面
  2. 点击”重启” → 选择”重启Apache”
  3. 或在命令行执行:
httpd -k restart

第五步:验证配置

# 验证Apache配置语法
httpd -t

# 测试HTTPS访问
curl -k https://localhost/

方式三:phpStudy + Nginx配置SSL

如果phpStudy使用Nginx作为Web服务器,需要手动修改Nginx配置。

第一步:编辑Nginx配置文件

文件位置

C:\phpstudy_pro\Extensions\Nginx1.15.11\conf\vhosts\yourdomain.conf

添加HTTPS配置

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate "C:/phpstudy_pro/Extensions/Nginx1.15.11/conf/ssl/server.crt";
    ssl_certificate_key "C:/phpstudy_pro/Extensions/Nginx1.15.11/conf/ssl/server.key";
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;

    root "C:/phpstudy_pro/WWW/yourdomain";
    index index.html index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

# HTTP 301跳转到HTTPS
server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$server_name$request_uri;
}

第二步:放置证书文件

把证书文件放到:

C:\phpstudy_pro\Extensions\Nginx1.15.11\conf\ssl\

如果没有ssl目录,手动创建

第三步:重启Nginx

  1. 回到phpStudy主界面
  2. 点击”重启” → 选择”重启Nginx”

或在命令行:

cd C:\phpstudy_pro\Extensions\Nginx1.15.11
nginx -s reload

处理自签名证书警告

使用自签名证书时,浏览器会报”证书不受信任”。要让浏览器信任自签名证书,需要导入证书到系统受信任根证书库。

Windows系统导入证书

  1. 双击 server.crt 文件
  2. 点击”安装证书”
  3. 选择”本地计算机”(需要管理员权限)
  4. 选择”将所有的证书放入下列存储”
  5. 点击”浏览” → 选择”受信任的根证书颁发机构”
  6. 点击”确定” → “下一步” → “完成”

Chrome浏览器导入证书

  1. 打开Chrome → 设置 → 隐私和安全 → 安全 → 管理设备证书
  2. 选择”受信任的根证书颁发机构” → “导入”
  3. 选择 server.crt 文件 → 完成

Firefox浏览器导入证书

Firefox使用独立的证书库,需要单独导入:

  1. 打开Firefox → 设置 → 隐私与安全 → 证书 → 查看证书
  2. 选择”证书颁发机构” → “导入”
  3. 选择 server.crt 文件
  4. 勾选”信任此CA以识别网站” → 确定

常见问题排查

问题一:Apache启动失败

原因:SSL配置语法错误,或证书文件路径不对。

解决

# 检查Apache配置语法
cd C:\phpstudy_pro\Extensions\Apache2.4.39\bin
httpd -t

# 查看错误日志
type C:\phpstudy_pro\Extensions\Apache2.4.39\logs\error.log

常见错误

  • 证书文件路径错误(注意Windows用反斜杠或正斜杠)
  • SSL模块未加载
  • 443端口被占用

问题二:443端口被占用

原因:其他程序占用了443端口。

解决

# 查看占用443端口的程序
netstat -ano | findstr :443

# 杀掉占用进程(记下PID)
taskkill /PID <PID> /F

常见占用443的程序

  • VMware
  • Skype
  • 其他Web服务器(IIS、Tomcat)

问题三:浏览器报”证书不受信任”

原因:使用自签名证书,未导入到受信任根证书库。

解决

  • 按照上文”处理自签名证书警告”导入证书
  • 或使用真实域名申请免费证书

问题四:HTTPS访问空白页

原因:DocumentRoot路径错误,或PHP解析失败。

解决

  • 检查DocumentRoot路径是否正确
  • 检查PHP模块是否加载
  • 查看Apache错误日志

问题五:HTTP跳转HTTPS不生效

原因:rewrite模块未加载,或rewrite规则错误。

解决

  • 确认 LoadModule rewrite_module modules/mod_rewrite.so 已加载
  • 检查 AllowOverride All 是否设置
  • 清除浏览器缓存

问题六:phpStudy界面配置SSL后Apache无法启动

原因:phpStudy V8的界面配置有时会生成错误的配置。

解决

  • 改用方式二手动修改配置文件
  • 或在phpStudy界面中取消SSL配置,重新配置

生产环境建议

phpStudy主要用于本地开发,生产环境建议:

  • Linux + Nginx:性能最好,配置灵活
  • Linux + Apache:稳定性好,配置简单
  • Windows Server + IIS:Windows环境下的选择

如果要把本地配置迁移到生产环境

  1. sslmianfei.com 申请真实的免费SSL证书
  2. 配置Nginx或Apache的HTTPS
  3. SSL证书配置检测工具 验证配置

总结

phpStudy配置SSL证书的3种方式

  • 方式一:图形界面配置(最简单,适合Apache)
  • 方式二:手动修改Apache配置文件(更灵活)
  • 方式三:手动修改Nginx配置文件(适合Nginx用户)

核心步骤

  1. 申请或生成SSL证书(推荐 sslmianfei.com 免费申请)
  2. 放置证书文件到phpStudy对应目录
  3. 配置Web服务器的SSL
  4. 配置HTTP跳转HTTPS
  5. 重启Web服务器
  6. 浏览器访问验证

关键提醒

  • 本地开发可以用自签名证书,但浏览器会报警告
  • 生产环境必须用受信任CA签发的证书
  • 自签名证书可以用 在线测试证书生成工具 生成
  • 真实域名证书建议在 sslmianfei.com 免费申请
本文到此结束