php文件在浏览器中显示源码说明php解释器未运行,根本原因是web服务器(如apache)未正确解析php——必须通过http://localhost访问www目录下的文件,确保apache和mysql均显示“已启动”,端口无冲突,php到期时间有效,且httpd.conf中已加载php模块。

PHP文件在浏览器中直接显示源码(比如看到 <?php echo "hello"; ?> 而不是输出“hello”),说明PHP解释器根本没运行——这不是代码错了,是环境没走通。核心就一点:PHP必须由Web服务器(如Apache)调用解析,不能靠双击或file://协议打开。
确认服务已真正启动
很多人点过“启动”按钮就以为好了,但实际Apache或MySQL可能启动失败、卡在“启动中”或报错隐藏了。务必检查状态栏是否明确显示“已启动”,且图标为绿色。
- 打开PHPStudy主界面,看Apache和MySQL两行右侧状态——必须都是“已启动”
- 如果某项显示“启动失败”或空白,点右侧“日志”按钮查看错误详情(常见如端口80被IIS、Skype或腾讯电脑管家占用)
- 临时解决端口冲突:进入“设置 → Apache → 端口设置”,把80改成8080,再重启
文件必须放对位置且用HTTP访问
PHPStudy默认只认特定目录下的PHP文件,放错位置或用错方式访问,等于没放。
- 根目录通常是
D:\phpStudy\WWW(Windows)或你安装时自定义的路径,不是桌面也不是项目文件夹 - 把
test.php放进WWW目录,内容写<?php phpinfo(); ?> - 浏览器必须输入
http://localhost/test.php——不是双击文件,也不是file:///D:/... - 如果子目录访问,例如
http://localhost/myapp/index.php,确保路径完全匹配(大小写敏感、无多余斜杠)
检查PHP是否“过期”或模块未加载
PHPStudy有授权机制,部分版本修改Apache端口后会自动重置PHP有效期为当天,导致PHP模块失效——页面就退化成纯文本展示。
- 点击顶部菜单“网站 → 管理 → 修改 → 基本配置”
- 找到“PHP到期时间”,手动设为未来日期(如2030-12-31)
- 保存后,必须点击“重启网站”(不是只重启Apache),让PHP模块重新载入
- 再访问
http://localhost/test.php,若仍显示源码,说明Apache没正确加载PHP模块,需检查httpd.conf中是否有LoadModule php_module和AddType application/x-httpd-php .php
快速验证与兜底方案
不用猜,用最简方式确认PHP是否真可用:
- 新建一个
info.php,内容只有<?php phpinfo(); ?>,放在WWW下 - 访问
http://localhost/info.php—— 显示完整PHP配置页 = 环境OK;下载文件或显示源码 = PHP未介入请求 - 若仍失败,换轻量方式验证:命令行进入WWW目录,执行
php -S localhost:8000,然后访问http://localhost:8000/info.php。能跑说明PHP本身正常,问题出在Apache配置 - 最后检查
php.ini里display_errors = On和error_reporting = E_ALL是否开启,重启Apache后看错误是否暴露出来
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











