必须同时配置Apache解析PHP、PHP启用MySQL扩展、MySQL服务运行——三者缺一不可;下载解压Apache/PHP/MySQL官方ZIP包至纯英文路径,严格匹配VC版本与位数;配置httpd.conf加载PHP模块并设置PHPIniDir;复制php.ini-development为php.ini,启用mysqli、pdo_mysql等扩展;初始化MySQL并重置root密码;最后通过test_db.php验证连接成功。

要在Windows系统本地运行PHP程序并连接MySQL数据库,必须让Apache能解析PHP文件、PHP能加载MySQL扩展、MySQL服务处于运行状态——三者缺一不可,任一环节出错都会导致phpinfo()空白、.php文件被下载、mysqli_connect()报错。
下载并解压Apache、PHP、MySQL官方包
打开浏览器,依次访问三个官网下载页面:
Apache:https://httpd.apache.org/download.cgi → 点击“Apache Lounge” → 下载对应系统架构的VC17 x64版(如httpd-2.4.62-win64-VS17.zip);
PHP:https://windows.php.net/download/ → 选择Thread Safe (TS)、VC17、x64版本(如php-8.3.12-Win32-vs17-x64.zip);
MySQL:https://dev.mysql.com/downloads/mysql/ → 下载MySQL Community Server 8.0+的ZIP Archive(非Installer版),解压后无需安装,直接配置。
全部解压到纯英文无空格路径,例如:
C:\Apache24
C:\php
C:\mysql
注意:Apache与PHP的VC版本(VC17)、位数(x64)必须严格一致,否则LoadModule会失败且Apache启动时无提示直接退出。
立即学习“PHP免费学习笔记(深入)”;
配置Apache加载PHP模块
用记事本或VS Code打开C:\Apache24\conf\httpd.conf,在文件末尾添加三行(顺序不可颠倒):
LoadModule php_module "C:/php/php8apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/php"
其中php8apache2_4.dll名称需与你PHP版本匹配:PHP 8.2用php82apache2_4.dll,PHP 8.3用php83apache2_4.dll——文件名写错会导致Apache服务无法启动,且错误日志中只显示“Syntax error on line X”而不会指出具体DLL缺失。
确认httpd.conf中Define SRVROOT指向正确路径:
Define SRVROOT "C:/Apache24"
管理员身份运行CMD,执行:
C:\Apache24\bin\httpd.exe -k install -n Apache24
net start Apache24
AI 领域系统学习体系。管理知识图谱、深度学习笔记、实战复盘和关联网络。触发场景:学习计划、知识图谱更新、深度研究某个 AI 主题、实战复盘总结、调研后沉淀知识、每周学习回顾。当用户说'学了什么'、'总结一下'、'沉淀知识'、'复盘'、'更新图谱'、'深入研究'、'写笔记'、'学习回顾'、'review what...
初始化PHP配置并启用MySQL扩展
方法一:基础启用
进入C:\php,将php.ini-development复制为php.ini;
用编辑器打开php.ini,修改两处关键项:
extension_dir = "C:/php/ext"
date.timezone = Asia/Shanghai
方法二:启用数据库支持
在php.ini中找到以下四行,删除每行开头的分号(;):
;extension=mysqli
;extension=pdo_mysql
;extension=openssl
;extension=mbstring
特别注意:mysqli和pdo_mysql必须同时启用,仅开其中一个会导致部分框架(如Laravel)数据库连接失败;mbstring未启用时,中文字符串处理会乱码,且Composer install可能中断。
启动MySQL服务并验证连接
第一步:初始化数据目录
以管理员身份运行CMD,执行:
cd /d C:\mysql\bin
mysqld --initialize --console
第二步:记录临时密码
命令输出末尾会出现类似:
A temporary password is generated for root@localhost: sX9#fK2!mQpL
请立即复制该密码,后续首次登录必须使用它。
第三步:安装并启动服务
mysqld --install MySQL80
net start MySQL80
第四步:重置root密码
mysql -u root -p
输入上一步记录的临时密码
执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
第五步:测试PHP连接
在C:\Apache24\htdocs下新建test_db.php,内容为:
$conn = mysqli_connect('127.0.0.1', 'root', 'your_new_password');
if ($conn) echo "MySQL connected successfully"; else die(mysqli_error($conn));
?>
浏览器访问http://localhost/test_db.php,页面显示“MySQL connected successfully”即完成。


















