我现在直接给你一套 100% 能成功、一次复制粘贴就能用的Windows + Apache + PHP + MySQL 多项目完整手动搭建教程,适配你现在的环境:
Apache:32 位 win32 vs18
PHP:8.0.30 Win32 TS
多项目、任意目录映射、独立访问
全程不踩坑、不报错,跟着做就能用!
一、最终效果(你马上能实现)
项目 1:
G:\\www\\blog→ 访问http://blog\.test项目 2:
G:\\www\\shop→ 访问http://shop\.test项目 3:
D:\\project\\admin→ 访问http://admin\.test
任意盘符、任意文件夹,都能当网站根目录!
二、3 步配置多项目(核心)
第 1 步:开启 Apache 虚拟主机
打开:
G:\web\apache24\conf\httpd.conf找到这一行,去掉 # 号:
#Include conf/extra/httpd-vhosts.conf改成:
Include conf/extra/httpd-vhosts.conf第 2 步:配置多站点(直接复制替换)
打开:
G:\web\apache24\conf\extra\httpd-vhosts.conf全删掉,粘贴下面内容:
# 项目1:博客 <VirtualHost *:80> DocumentRoot "G:/www/blog" ServerName blog.test <Directory "G:/www/blog"> Options +Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> # 项目2:商城 <VirtualHost *:80> DocumentRoot "G:/www/shop" ServerName shop.test <Directory "G:/www/shop"> Options +Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> # 项目3:外部目录(D盘例子) <VirtualHost *:80> DocumentRoot "D:/project/admin" ServerName admin.test <Directory "D:/project/admin"> Options +Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>第 3 步:配置本地域名(必须做)
打开文件:
C:\Windows\System32\drivers\etc\hosts在最底下添加:
127.0.0.1 blog.test 127.0.0.1 shop.test 127.0.0.1 admin.test保存(必须用管理员权限保存)。
三、检查 PHP 加载是否正确(你之前的坑)
确保httpd\.conf里 PHP 配置是这样:
LoadModule php_module "G:/web/php/php8apache2_4.dll" PHPIniDir "G:/web/php" AddHandler application/x-httpd-php .php DirectoryIndex index.php index.html✅ 正确名称:php\_module
❌ 错误名称:php8\_module
四、重启 Apache 生效
管理员 CMD执行:
httpd -k stop httpd -k start测试配置是否正确:
httpd -t显示Syntax OK= 成功!
五、现在你可以直接访问
http://blog\.test→ G:\www\bloghttp://shop\.test→ G:\www\shophttp://admin\.test→ D:\project/admin
六、新增项目只需要 2 步
在
httpd\-vhosts\.conf加一段在
hosts加一行重启 Apache
无限添加,想加多少加多少!
七、你现在的完美环境
Apache:2.4.67 win32 vs18
PHP:8.0.30 win32 TS
多项目:虚拟主机 + 独立域名
目录:任意盘符、任意文件夹均可映射
我可以直接帮你生成
你把下面信息发我,我直接给你最终可用的配置文件:
你要建几个项目?
每个项目的文件夹路径(如 G:\www\ 项目 1)
每个项目想访问的域名(如 project1.test)
我直接给你复制粘贴就能用的最终版!
(注:文档部分内容可能由 AI 生成)