php脚本在phpstudy中必须通过web服务器运行:一、启动apache/nginx及对应php版本并确认绿色运行状态;二、将php文件放入配置的网站根目录(如d:\phpstudy_pro\www);三、浏览器访问http://localhost/xxx.php;四、检查php版本切换与扩展启用是否同步完成;五、确保文件编码为utf-8无bom且url为http协议。

PHP 脚本在 PHPStudy 中不能双击运行,也不能用命令行 php xxx.php 直接执行(除非你额外配置了 CLI 环境),它必须通过 Web 服务器解析——也就是说,只有放在网站根目录、服务启动、浏览器访问,才算真正“运行”。
Apache/Nginx 服务没起来,脚本就只是文本
很多用户把 index.php 放进 D:\phpstudy_pro\WWW 后直接双击打开,看到的全是源码。这不是 PHP 的问题,是 Web 服务根本没工作。
- 打开 PHPStudy 主界面,确认
Apache或Nginx右侧状态是“已启动”,不是灰色或“启动中” - 底部状态栏要显示绿色圆形图标,且提示“服务运行中”;若显示红色或报错,点开日志看
error.log里具体哪一行失败 - 常见卡点:80 端口被 Skype、IIS、迅雷或 Windows 应用商店后台进程占用,可临时改 Apache 端口为
8080,然后访问http://localhost:8080/xxx.php
文件放错位置,等于没放
PHPStudy 只认它配置的网站根目录,其他任何路径(桌面、文档、D盘根目录)都不生效。
- 默认根目录是
D:\phpstudy_pro\WWW(Windows)或/www/wwwroot/default(Linux 版),别依赖记忆,点 PHPStudy 界面右上角“设置”→“网站设置”→看“网站根目录”字段 - 不要把
test.php放进WWW\myproject\就以为能用http://localhost/test.php访问——正确地址是http://localhost/myproject/test.php - 文件名含中文、空格或特殊符号(如
测试.php、user login.php)会导致 404 或乱码,一律用英文+下划线命名
PHP 版本没关联或扩展缺失,页面就空白
页面加载半天只显示空白,或者报 Fatal error: Call to undefined function curl_init(),大概率是 PHP 版本没启用,或关键扩展没开。
- 在 PHPStudy 主界面点“PHP版本切换”,选中你项目需要的版本(比如 Laravel 11 要求 PHP ≥ 8.2),再点“确认切换”——这步不点,Apache 仍用旧版本跑
- 切换后必须点“扩展管理”,勾选项目依赖的扩展:
curl、mbstring、pdo_mysql、openssl是高频刚需项;gd和zip看项目是否处理图片或压缩包 - 改完扩展必须重启 Apache,否则不生效;重启后可访问
http://localhost/phpinfo.php(需自己建这个文件)验证当前 PHP 版本和已启用扩展
浏览器访问时出错,先看 URL 和编码
不是所有错误都来自代码本身,URL 写错或文件编码不对,会直接拦在第一步。
- 确保浏览器地址栏输入的是
http://localhost/xxx.php,不是file:///D:/.../xxx.php—— 后者绕过服务器,自然不解析 PHP - 用 VS Code、Notepad++ 等编辑器保存 PHP 文件时,务必选
UTF-8 无 BOM编码;BOM 头会导致 header() 报错或空白页 - 如果页面显示 PHP 源码(例如看到
<?php echo 'hi'; ?>),说明 PHP 解析器完全没介入,立刻回头检查 Apache 是否绑定到 PHP、PHP 版本是否启用、.php后缀是否被正确映射
最常被忽略的一点:PHPStudy 的“PHP版本切换”和“扩展管理”是两个独立操作,切了版本不启扩展,或启了扩展没切对版本,都会让脚本静默失败。调试时别只盯着代码,先确认 phpinfo() 输出里显示的版本号和扩展列表是否符合预期。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











