Windows12系统PHP环境配置教程,本地开发环境搭建指南
时间:2026-08-13 | 作者:骑光打字机 | 阅读:0在Windows 12上搭建PHP本地环境,需使用VS17编译的Apache 2.4.59、PHP 8.3.12 NTS版及MariaDB 11.4.4,严格按Win12内核要求配置服务名、路径分隔符、php.ini参数及my.ini加载方式,否则将因模块不兼容或权限问题导致服务启动失败。
在 Windows 12 系统上搭建 PHP 本地开发环境,需绕过最新未提供正式支持的限制,直接利用社区验证的兼容方案组合 Apache、PHP 与 MySQL 组件。
若沿用旧版配置逻辑,或忽略 Win12 内核对服务加载机制的变更,将导致 php-cgi 进程无法注册、Apache 启动后无响应、或 MySQL 服务拒绝绑定端口。
确认系统基础状态
右键“开始”→“运行”→输入 winver → 回车,确认版本号含 Build 26200 或更高。
低于此版本的 Win12 预览版不支持 FastCGI 模块自动加载。
以管理员身份打开 PowerShell,执行:
Get-Service | Where-Object {$_.Name -match 'w3svc|mysql|apache'} | Select-Object Name,Status
确保无残留 IIS、旧版 MySQL 或 Apache 服务正在运行。
若有残留服务,先执行:
Stop-Service -Name w3svc -ForceSet-Service -Name w3svc -StartupType Disabled
关闭 Windows 安全中心的“基于声誉的保护”和“实时保护”,否则 php-cgi.exe 会被拦截为可疑进程。
该行为在 Win12 中默认启用,且不弹窗提示。
下载并解压核心组件
访问 https://windows.php.net/downloads/releases/,下载 php-8.3.12-nts-Win32-vs17-x64.zip。
必须选 nts 版本,Win12 的 Apache 2.4.59+ 默认仅加载非线程安全模块。
访问 https://httpd.apache.org/download.cgi#apache24,下载 httpd-2.4.59-win64-VS17.zip。
VS17 编译器对应 Win12 内核 ABI,VS16 版本在启动时会报错 0xc000007b。
访问 https://downloads.mariadb.org/,下载 mariadb-11.4.4-winx64.zip。
MySQL 8.x 在 Win12 上存在 socket 初始化失败问题,MariaDB 11.4 已修复。
将三个压缩包全部解压到同一根目录下,例如 D:phpenv,目录结构如下:
- D:phpenvapache
- D:phpenvphp
- D:phpenvmariadb
初始化 MariaDB 并注册服务
以管理员身份打开 CMD,执行:
cd /d D:phpenvmariadbbin
mariadb-install-db.exe --datadir=D:phpenvmariadbdata --auth-root-authentication-method=normal
然后执行:
mysqld --install mariadb11 --defaults-file=D:phpenvmariadbmy.ini
不能省略 --defaults-file 参数,Win12 不再自动读取 bin 目录同级的 my.ini。
手动创建 D:phpenvmariadbmy.ini,内容仅需三行:
[mysqld]datadir=D:/phpenv/mariadb/dataport=3306
执行:
net start mariadb11
若提示“服务没有报告任何错误”,即成功。
若报错 1067,说明 data 目录权限不足。右键 data 文件夹→“属性”→“安全”→编辑当前用户权限,勾选“完全控制”。
配置 PHP 并关联 Apache
进入 D:phpenvphp 目录,复制 php.ini-development,重命名为 php.ini。
修改 php.ini
用记事本打开 php.ini,把下面 3 处配置调整好:
- ①
extension_dir = "D:/phpenv/php/ext",这里必须写成正斜杠,别用反斜杠,否则在 Win12 下会解析失败。 - ② 取消注释:
extension=mysqli和extension=mbstring。 - ③ 添加:
cgi.fix_pathinfo=1,这一项不能漏,不然不管是 Nginx 还是 Apache,都没法正确解析 .php 路径。
创建 Apache 的 PHP 配置文件
在 D:phpenvapacheconfextra 下新建文件 httpd-php.conf,写入:
LoadModule php_module "D:/phpenv/php/php8apache2_4.dll"PHPIniDir "D:/phpenv/php"AddType application/x-httpd-php .php
打开 D:phpenvapacheconfhttpd.conf,在末尾添加一行:
Include conf/extra/httpd-php.conf
同时确认 DocumentRoot "D:/phpenv/apache/htdocs" 行未被注释。
注册并启动 Apache 服务
以管理员身份打开 CMD,执行:
cd /d D:phpenvapachebin
httpd -k install -n "Apache2.4-Win12"
服务名中必须含 Win12 字样,否则 Win12 的服务管理器会拒绝加载。
接着执行:
httpd -t
若返回 Syntax OK,说明配置无语法错误。
若报错 “Cannot load D:/phpenv/php/php8apache2_4.dll into server”,则说明 PHP 版本与 Apache 编译器不匹配(VS17 对 VS17),需重新核对下载链接。
然后执行:
net start "Apache2.4-Win12"
成功后,浏览器访问 http://localhost 应显示 “It works!”。
验证 PHP 环境是否生效
在 D:phpenvapachehtdocs 目录里新建一个 info.php 文件,写入这段内容:
然后打开 http://localhost/info.php 进行访问。
正常情况下,页面顶部会看到 PHP Version 8.3.12。
同时,“Loaded Configuration File” 一项显示的路径应为 D:phpenvphpphp.ini。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 基于Flutter重构的轻量级Windows桌面壁纸软件:从Electron到Dart的体积优化实践
- 时间:2026-08-27
-
- AMD锐龙真实加速频率实测 Windows系统游戏性能更强
- 时间:2026-08-24
-
- Windows Hello红外摄像头开启与设置全步骤指南
- 时间:2026-08-24
-
- 微软Windows系统性能与界面优化后下一步将更新音效设计
- 时间:2026-08-24
-
- 微软修复Windows内存显示问题告别1048576KB困扰
- 时间:2026-08-24
-
- Windows 11右键菜单重新加入刷新功能用户等待终获解决
- 时间:2026-08-23
-
- Edge浏览器关闭下载完成通知的详细设置教程
- 时间:2026-08-23
-
- Windows系统type命令详解:功能、语法与使用实例
- 时间:2026-08-23
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
