php首个程序需经web服务器或内置服务器解析执行,不能直接双击运行;用php -s localhost:8000启动内置服务器并访问http://localhost:8000即可输出“hello world”。

PHP 的第一个程序不是写在浏览器里直接运行的,它必须经过 Web 服务器(如 apache 或 nginx)或 PHP 内置服务器解析执行;直接双击打开 .php 文件只会看到源码或下载,不会输出 “Hello World”。
确认 PHP 环境已就绪
先在终端(命令行)运行:
php -v
如果返回类似 PHP 8.2.12 的版本信息,说明 PHP 已安装。若提示 command not found,需先安装 PHP(macos 可用 brew install php,windows 推荐 XAMPP 或 WAMP,linux 用 apt install php-cli)。
注意: 检查的是 CLI(命令行)版本,但 Web 运行依赖的是 Web SAPI(如 php -vapache2handler),二者可能不同。开发时建议统一用内置服务器快速验证。
立即学习“PHP免费学习笔记(深入)”;
用 PHP 内置服务器跑 Hello World
这是初学者最不容易卡住的方式,不依赖 Apache/Nginx 配置。
- 新建一个空文件夹,比如
~/helloworld - 在其中创建文件
index.php,内容为:
<?php echo "Hello World"; ?>
保存后,在该目录下运行:
php -S localhost:8000
然后打开浏览器访问 http://localhost:8000,就能看到输出。
⚠️ 容易踩的坑:
- 文件名必须是
index.php(或显式指定路由脚本),否则 404 - 不能用中文路径或含空格路径,否则服务器启动失败且报错不明显
-
echo后面不要加中文分号(;),必须是英文分号(;)
在 Web 服务器中部署要注意什么
如果你用 XAMPP/WAMP/MAMP,把 index.php 放进 htdocs(XAMPP)或 www(WAMP)目录即可,但得确保:
- Apache/Nginx 服务已启动(XAMPP 控制面板里对应模块状态是绿色)
- 浏览器访问的是
http://localhost/index.php,而不是直接打开文件(file:///协议) - PHP 文件开头必须有
<?php,不能只写echo "Hello World";—— 没有 PHP 标签,Web 服务器会当作纯文本返回
如果页面空白,检查浏览器开发者工具的「Network」标签,看响应状态码是否为 200;如果是 500,大概率是语法错误,可临时在 index.php 顶部加:
<?php error_reporting(E_ALL); ini_set('display_errors', 1); echo "Hello World"; ?>
为什么不用 ?> 而用 <?php ?>
?> 是短标签(short_open_tag),默认在新版 PHP 中是关闭的,而且很多共享主机禁用它。硬编码依赖它会导致迁移失败。
所以从第一行 PHP 就该养成习惯:
- 始终用
<?php开头(哪怕只是单行) - 避免
echo "x"; ?>或 - 模板中如需嵌入变量,也优先用完整标签 +
echo,例如:<?php echo $name; ?>
真实项目里,连 echo 都常被封装成 print_r()、var_dump() 或模板引擎的语法,但起步阶段,把 跑通,比纠结语法糖重要得多。<?php echo "Hello World"; ?>