PHP文件需用UTF-8无BOM编码、LF换行符、.php扩展名(英文小写)、保存至Web服务器根目录(如htdocs),四点缺一不可,否则导致空白输出、header错误、404或下载文件。

直接用编辑器打开 PHP 文件后,保存操作本身和普通文本文件一样,但要确保能被服务器正确执行,关键在于编码格式、换行符、文件扩展名和保存路径这四点。
必须用 UTF-8 无 BOM 编码保存
PHP 解析器对文件开头的 BOM(字节顺序标记)非常敏感。如果用了“UTF-8 with BOM”,可能导致输出空白行、header 已发送等错误,尤其在使用 session 或 header() 时会直接报错。
- 推荐在 VS Code、Sublime Text、Notepad++ 等编辑器中手动设置编码为 UTF-8(不带 BOM)
- Notepad++:菜单栏 → 编码 → 转为 UTF-8 无 BOM 格式
- VS Code:右下角点击编码名称(如 UTF-8),选择 “Save with Encoding” → “UTF-8”
保持 Unix 风格换行符(LF)
Windows 默认用 CRLF(回车+换行),Linux/macOS 用 LF(仅换行)。多数 PHP 服务器(尤其是 Linux)对 CRLF 不敏感,但某些 CLI 场景或配置严格的环境(如部分 Docker 容器、Git 钩子)可能出问题。
- VS Code:右下角换行符显示为 “CRLF” 时,点击它改为 “LF”
- Sublime Text:View → Line Endings → Unix
- 保存前检查:终端执行
file yourfile.php,若提示 “with CRLF line terminators”,建议转换
文件名必须以 .php 结尾,且不含中文或特殊字符
PHP 解析依赖 Web 服务器(如 Apache/Nginx)根据扩展名决定是否交由 PHP 模块处理。如果误存为 .txt、.php.txt 或含空格/中文名(如 “用户登录.php”),服务器将直接下载或返回 404。
立即学习“PHP免费学习笔记(深入)”;
- 命名建议:全小写、英文、下划线或短横线,如
user_login.php、config.php - 避免:
login.php (1).php、首页.php、test.PHP(大小写敏感在部分服务器上会失败)
保存到 Web 服务器可访问的目录中
单纯保存在桌面或文档文件夹里,浏览器是无法通过 http:// 访问的。必须放在本地开发环境的根目录下(如 XAMPP 的 htdocs/,WAMP 的 www/,或 Docker 中映射的 web 目录)。
- 例如:XAMPP 用户应保存为
C:\xampp\htdocs\index.php,才能通过http://localhost/index.php运行 - 确认文件权限:Linux 环境下,确保文件可读(一般 644 即可),无需可执行权限
- 修改后记得刷新浏览器,必要时清空 OPcache(开发时可在 php.ini 中设
opcache.enable=0)
只要编码、换行、扩展名、路径这四点不出错,PHP 文件就能正常保存并运行。不复杂但容易忽略。











