
PHP 是服务端语言,无法直接通过 file:// 协议打开执行;必须通过本地 Web 服务器(如 Apache、Nginx 或 PHP 内置服务器)解析后,以 http://localhost 等 URL 访问,浏览器才能看到渲染后的 HTML 结果。
php 是服务端语言,无法直接通过 `file://` 协议打开执行;必须通过本地 web 服务器(如 apache、nginx 或 php 内置服务器)解析后,以 `http://localhost` 等 url 访问,浏览器才能看到渲染后的 html 结果。
你遇到的问题非常典型:在 Chrome(或其他任何浏览器)中双击 .php 文件或用 file:// 路径打开时,浏览器只是原样显示源码(包括 <?php ?> 标签),甚至可能暴露敏感逻辑——这不是 Chrome 的 bug,而是所有浏览器的统一行为。原因很简单:浏览器根本不解析 PHP,它只负责渲染 HTML、执行 JavaScript、应用 CSS。PHP 代码必须由服务器先行执行,将结果(纯 HTML)返回给浏览器。
✅ 正确做法:启动本地 PHP 服务器
PHP 自带轻量级内置 Web 服务器(PHP 5.4+ 支持),无需安装 Apache 或 XAMPP,即可快速测试:
# 在终端中进入你的项目根目录(例如包含 index.php 的文件夹) cd /path/to/your/project # 启动内置服务器(默认监听 localhost:8000) php -S localhost:8000 # 或指定路由文件(处理重写等高级需求) php -S localhost:8000 router.php
启动成功后,在 Chrome 中访问:
? http://localhost:8000/index.php
而非 file:///path/to/index.php 或双击文件。
此时你会看到:
-
<a href="logout.php"> logout</a>正常显示为可点击链接; - 所有
<?php ?>区块已被服务器执行并移除(即使当前为空,也不会出现在 HTML 源码中); - 页面结构完整,CSS/JS 正常加载。
⚠️ 注意事项与常见误区
- ❌ 不要用
file://打开.php文件:无论 Chrome、Firefox 还是 Safari,均无法执行 PHP,仅作文本展示。 - ✅ 所有浏览器行为一致:你说“其他浏览器可以”,大概率是误判(例如某浏览器曾通过插件或旧版扩展模拟服务端,或实际已启用本地服务器但未察觉);标准环境下,没有浏览器能直接运行 PHP。
- ? 生产环境需专业服务器:内置服务器仅用于开发调试,不支持并发、HTTPS、重写规则等,上线请使用 Apache/Nginx + PHP-FPM。
- ? 安全提醒:避免在服务器根目录直接暴露敏感文件(如
config.php)。可通过.htaccess(Apache)或router.php(内置服务器)控制访问权限。
? 小技巧:快速验证 PHP 是否生效
在 index.php 开头添加一行测试代码:
立即学习“PHP免费学习笔记(深入)”;
<?php echo "<p>✅ PHP is running! Current time: " . date('Y-m-d H:i:s') . "</p>"; ?>若页面显示带时间的绿色提示,则说明服务器配置成功;若仍看到 <?php echo ... ?> 原文,则说明仍未通过 HTTP 协议访问。
总结:PHP 不是前端语言,它的执行永远发生在服务端。养成习惯——开发时始终用 http://localhost:port/filename.php 访问,而非文件系统路径。这不仅是 Chrome 的要求,更是 Web 开发的基本范式。



















