先验证test.php能否显示phpinfo():若看到配置信息,说明php与web服务器链路正常;若下载文件或显示源码,是web服务器未将.php交由php处理;404为根目录路径或端口监听错误;500或空白页则因语法错误、扩展缺失、bom或错误报告关闭。

Win7 上 PHP 环境搭好了,但浏览器打不开 http://localhost 或任何 PHP 页面?大概率不是 PHP 没装,而是请求根本没走到 PHP 解析环节——先确认它是不是真在跑。
test.php 能显示 phpinfo() 吗?这是第一道分水岭
别猜,直接验证:在 Web 根目录(比如 XAMPP 的 htdocs、WAMP 的 www)新建一个文件 test.php,内容只写:
<?php phpinfo(); ?>
然后用浏览器访问 http://localhost/test.php(注意必须是 http://,不是双击打开的 file://):
- 看到满屏配置信息 → PHP 和 Web 服务器链路基本通,问题在项目代码或配置
- 下载
test.php文件 / 显示源码 → Web 服务器压根没把 .php 交给 PHP 处理 - 404 → Web 根目录路径不对,或 Apache/Nginx 没监听 80 端口
- 500 或空白页 → PHP 启动了,但解析失败(语法错、扩展缺失、BOM、错误报告关闭)
Apache 下 test.php 显示源码?检查模块加载和 Handler
这是 Win7 + XAMPP/WAMP 最常见卡点:Apache 加载了 PHP 模块,但没告诉它“遇到 .php 文件该交给谁”。重点查三处:
- 打开
httpd.conf(XAMPP 在\apache\conf\,WAMP 在\bin\apache\apache<version>\conf\</version>),确认存在且未被注释的两行:LoadModule php_module modules/libphp7.so(XAMPP)或LoadModule php7_module modules/php7apache2_4.dll(WAMP)AddHandler application/x-httpd-php .php - 确认
modules/目录下对应 DLL 或 SO 文件真实存在,路径与LoadModule一致 - 检查是否漏了
PHPIniDir指令(尤其 WAMP 常见):PHPIniDir "C:/wamp64/bin/php/php7.4.33"—— 路径必须指向实际php.ini所在目录 - 改完必须重启 Apache 服务(托盘图标右键 → Restart All Services),不重启等于没改
能打开 HTML 但打不开 PHP?盯死这三个位置
静态文件 OK,说明 Apache/Nginx 本身在跑,问题全在 PHP 集成层:
-
php.ini 没加载:看
phpinfo()输出里Loaded Configuration File这一行。显示None或路径错误?手动加PHPIniDir并重启;路径对但没生效?检查文件权限(Win7 下有时被系统阻止写入) -
关键扩展被注释:比如项目用 MySQL,但
php.ini里;extension=mysqli还带着分号;WAMP/XAMPP 默认常关掉curl、gd2、mbstring,编辑php.ini去掉分号再重启 - SELinux / 防火墙?Win7 不用管 SELinux,但防火墙可能拦了 80 端口:临时关掉 Windows 防火墙测试;或者进「控制面板 → Windows 防火墙 → 允许应用或功能通过」,确保 Apache HTTP Server 或 httpd 已勾选
访问 http://localhost 空白页?错误报告关了,你啥都看不见
Win7 下默认 display_errors = Off,哪怕 parse error 也只给你留个空屏。立刻改 php.ini:
display_errors = Onerror_reporting = E_ALL-
log_errors = On(日志路径看error_log配置项,默认在 Apache 的logs/error.log)
改完重启 Apache,再刷页面——如果还是空白,用命令行验证语法:php -l C:\xampp\htdocs\index.php(把路径换成你的文件)。返回 Errors parsing 就说明有硬性语法错,比如少括号、短标签 但 short_open_tag = Off。
Win7 的坑在于:很多编辑器(尤其是老版 Notepad)保存 UTF-8 会带 BOM,PHP 解析器一读到开头的不可见字节就直接退出,结果就是静默空白。用 VS Code 或 Notepad++ 打开 PHP 文件,编码选「UTF-8 无 BOM」再另存。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











