在Windows 11上用Apache 2.4.69+PHP 8.3.32部署Laravel项目,关键在于路径规范、模块加载、目录权限和入口指向四点对齐:Apache须从Apache Lounge下载VS17版并装VC2022运行时;PHP须选TS+VC17 x64版,解压至C:\php83并配置php.ini及httpd.conf加载模块;Laravel项目DocumentRoot必须指向public目录,配虚拟主机与hosts,并确保storage和bootstrap/cache有完全控制权限。

在 Windows 11 上用 Apache 2.4.69 + PHP 8.3.32 部署 Laravel 项目,关键不是“装上就行”,而是路径规范、模块加载、目录权限和入口指向这四点对齐。Apache 官方不提供 Windows 二进制包,2.4.69 版本需从 Apache Lounge(非 Apache Haus)下载,PHP 8.3.32 则必须选 Thread Safe + VC17 x64 版本(对应 Visual Studio 2022 运行时),二者不匹配会导致 httpd 启动即退出。
一、Apache 2.4.69 手动安装与基础配置
Apache Lounge 是当前 Windows 下最稳定、更新及时的官方认可分发源。下载地址:https://www.apachelounge.com/download/ —— 选择 httpd-2.4.69-win64-VS17.zip(注意是 VS17,不是 VS16 或 VS15)。
- 解压到纯英文无空格路径,例如 C:\Apache24;禁止使用 Program Files、中文路径或带空格文件夹
- 安装前确保已安装 Microsoft Visual C++ 2022 Redistributable (x64)(官网可下载,否则 httpd.exe 直接报错 0xc000007b)
- 以管理员身份运行 CMD,执行:
cd /d C:\Apache24\bin<br>httpd.exe -k install -n Apache24
- 打开
C:\Apache24\conf\httpd.conf,确认两处:
→Define SRVROOT "C:/Apache24"(路径用正斜杠或双反斜杠均可)
→Listen 8080(避免与 Skype、IIS 或 WSL2 冲突,初装建议改端口)
二、PHP 8.3.32 集成配置(非 XAMPP)
PHP 官方 Windows 包页面(windows.php.net/download)中,8.3.32 的 Thread Safe ZIP 包明确标注为 VC17 x64。下载后解压至 C:\php83,不要放在 Apache 目录内。
- 复制
C:\php83\php.ini-development为php.ini,用文本编辑器打开并修改:
→extension_dir = "C:/php83/ext"(路径用正斜杠)
→ 取消注释:extension=openssl、extension=pdo_mysql、extension=mbstring、extension=xml、extension=ctype - 将
C:\php83加入系统环境变量 Path(重启 CMD 生效),验证:php -v和php -m | findstr mysql应显示版本及扩展名 - 在
httpd.conf底部追加 PHP 模块加载配置:LoadModule php_module "C:/php83/php8apache2_4.dll"<br>AddHandler application/x-httpd-php ".php"<br>PHPIniDir "C:/php83"
三、Laravel 项目部署与 Apache 虚拟主机设置
Laravel 必须通过 public/ 目录提供服务,不能把整个项目放 DocumentRoot 下。假设项目位于 E:\laravel-app:
立即学习“PHP免费学习笔记(深入)”;
- 进入
C:\Apache24\conf\extra\httpd-vhosts.conf,添加虚拟主机:<VirtualHost *:8080><br> ServerName laravel.test<br> DocumentRoot "E:/laravel-app/public"<br> <Directory "E:/laravel-app/public"><br> Options Indexes FollowSymLinks<br> AllowOverride All<br> Require all granted<br> </Directory><br></VirtualHost>
- 修改系统 hosts 文件(
C:\Windows\System32\drivers\etc\hosts),追加一行:127.0.0.1 laravel.test - 重启 Apache:
httpd -k restart(若失败,先用httpd -t检查配置语法) - 访问
http://laravel.test:8080,应看到 Laravel 欢迎页;若报 500,检查storage和bootstrap/cache目录是否具有“当前用户完全控制”权限(右键 → 属性 → 安全 → 编辑)
四、常见卡点与快速验证项
部署失败往往集中在几个确定性环节,按顺序排查效率最高:
-
Apache 启动失败:运行
httpd -t看语法错误;检查事件查看器 → Windows 日志 → 应用程序,过滤“Apache24”来源的错误详情 -
PHP 不解析 .php 文件:确认
httpd.conf中 LoadModule 行路径正确、dll 文件存在;检查php -m是否列出所有必需扩展 -
页面空白或 500 错误:打开
php.ini,设display_errors = On、error_reporting = E_ALL,再刷新看具体报错 -
Laravel 报 Class not found 或 Key missing:确保已在项目根目录运行过
php artisan key:generate;且.env已重命名并配置了数据库信息



















