PHP文件必须存放在Web服务器配置的根目录下才能被正常解析执行,如XAMPP的htdocs、Apache的/var/www/html、Nginx的root指定路径、cPanel的public_html,或通过PHP内置服务器临时运行。

如果您将 PHP 文件直接放入普通文件夹并用浏览器打开,页面会显示源代码或提示下载,因为 PHP 是服务器端脚本语言,必须经由支持 PHP 的 Web 服务器解析执行。以下是 PHP 文件可被浏览器正常访问所必需的存放位置及配置方式:
一、本地开发环境中的正确存放路径
在使用 XAMPP、WAMP、MAMP 或 Laragon 等集成环境时,PHP 文件必须放在其预设的 Web 根目录下,才能被内置 Apache/Nginx 服务识别并解析。
1、对于 XAMPP(Windows/macOS),将 PHP 文件放入 htdocs 文件夹内,例如:C:\xampp\htdocs\index.php。
2、对于 WAMP(Windows),存入 www 目录,例如:C:\wamp64\www\test.php。
立即学习“PHP免费学习笔记(深入)”;
3、对于 MAMP(macOS/Windows),默认根目录为 htdocs,路径类似:/Applications/MAMP/htdocs/info.php。
4、访问时需通过 http://localhost/xxx.php,而非 file:///路径/xxx.php。
二、Linux 系统中 Apache 的标准存放位置
在 Ubuntu、Debian 或 CentOS 上手动配置 Apache 时,PHP 文件需置于 Apache 配置指定的 DocumentRoot 所指向的目录,通常为系统级公开 Web 根目录。
1、检查 Apache 当前 DocumentRoot 设置:运行命令 sudo apache2ctl -t -D DUMP_VIRTUAL_HOSTS 或查看 /etc/apache2/sites-available/000-default.conf 中的 DocumentRoot 行。
2、常见默认路径为 /var/www/html/,将 page.php 放入该目录。
3、确保文件权限允许 Web 服务器读取:执行 sudo chmod 644 /var/www/html/page.php。
4、重启 Apache 使配置生效:运行 sudo systemctl restart apache2。
三、Nginx 环境下的 PHP 文件存放路径
Nginx 本身不解析 PHP,需配合 PHP-FPM;其静态文件服务路径由 server 块中的 root 指令定义,PHP 脚本必须位于该 root 路径下,并通过 fastcgi_pass 正确转发请求。
1、编辑站点配置文件,如 /etc/nginx/sites-available/default,确认存在类似 root /usr/share/nginx/html; 的设置。
2、将 PHP 文件放入该 root 指向的目录,例如:/usr/share/nginx/html/api.php。
3、确保 location ~ \.php$ 块已启用且包含 fastcgi_pass 127.0.0.1:9000; 或 fastcgi_pass unix:/run/php/php8.1-fpm.sock;。
4、测试配置并重载 Nginx:执行 sudo nginx -t && sudo systemctl reload nginx。
四、使用 PHP 内置服务器临时运行
PHP 5.4+ 提供了无需安装完整 Web 服务器的内置 CLI 服务器,适用于快速测试单个目录下的 PHP 脚本,但仅限开发调试,不可用于生产环境。
1、打开终端,进入含 PHP 文件的目录,例如:cd /home/user/myproject。
2、启动内置服务器:运行 php -S localhost:8000,此时默认路由文件为 index.php。
3、若需自定义路由器脚本,添加参数:如 php -S localhost:8000 router.php,其中 router.php 处理请求分发逻辑。
4、在浏览器中访问 http://localhost:8000/script.php 即可执行对应文件。
五、云服务器或虚拟主机中的上传位置
在购买的共享主机、VPS 或云服务器上部署 PHP 网站时,文件上传目标取决于服务商提供的 Web 根目录结构,通常通过 FTP/SFTP 或控制面板文件管理器操作。
1、登录 cPanel 类型主机后,在“文件管理器”中定位到 public_html 目录,所有可通过域名访问的 PHP 文件必须放在此处或其子目录中。
2、对于 DirectAdmin 主机,对应目录通常是 domains/example.com/public_html/。
3、使用 SFTP 连接 VPS 时,确认 Web 用户(如 www-data 或 nginx)对目标目录具有读取权限,且 SELinux(如启用)未阻止 httpd 访问该路径。
4、上传后,通过 https://yourdomain.com/test.php 访问,而非本地路径或 IP 直接访问(除非已绑定域名或配置 hosts)。











