apache默认根目录为c:\xampp\htdocs或c:\wamp64\www,iis默认为c:\inetpub\wwwroot;项目必须置于服务器明确配置的documentroot或站点物理路径下,否则将返回404错误。

本地 PHP 项目该放哪个文件夹才被 Web 服务器识别
Windows 7 下用 Apache 或 IIS 运行 PHP,项目文件不能随便丢进任意目录——Web 服务器只从它明确配置的“文档根目录(DocumentRoot)”或“物理路径(Physical Path)”里读取文件。放错位置,浏览器访问 http://localhost/index.php 就会 404 或直接下载源码。
常见情况分两类:
-
Apache(如 XAMPP/WampServer):默认根目录是
C:\xampp\htdocs或C:\wamp64\www。你新建的项目必须放在这个目录下,或其子目录中(例如C:\xampp\htdocs\myapp),才能通过http://localhost/myapp/index.php访问。 -
IIS(原生安装):默认物理路径是
C:\inetpub\wwwroot。添加网站时手动指定的“物理路径”才是实际生效位置,比如填了D:\projects\blog,那你的index.php就必须在D:\projects\blog\下,而不是wwwroot里。
为什么改了路径却还是 404?检查这三点
即使把文件放对了目录,仍可能 404,常见原因不是路径本身,而是服务器没“认出”它:
- Apache 的
httpd.conf中DocumentRoot和<directory></directory>路径不一致,或<directory></directory>缺少AllowOverride All和Require all granted(Apache 2.4+ 必须) - IIS 站点绑定中 IP 地址设成了具体网卡地址(如
192.168.1.100),但你用的是http://localhost——应改为All Unassigned或留空 - PHP 处理器映射没配 *.php 后缀,或者可执行文件路径写错(例如写了
php.exe却该用php-cgi.exe)
命令行运行 PHP 文件和 Web 访问是两套路径逻辑
你在 CMD 里执行 php C:\myproject\test.php 成功,不代表浏览器能访问它——因为命令行走的是系统 PATH + 当前工作目录 + php --ini 查到的 php.ini;而 Web 请求走的是服务器配置的根目录 + 它加载的 php.ini(可能完全不一样)。别用命令行能跑来判断 Web 是否配置正确。
最稳妥的做法:先确认服务器实际使用的根路径(Apache 看 httpd.conf,IIS 看站点属性 → “基本设置”),再把项目放进去,最后用 phpinfo() 验证当前请求加载的 Loaded Configuration File 是不是你改过的那个 php.ini。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











