PHP 入门第一课:PHP 到底是什么?一个请求是怎么跑起来的?

举报
yd_220371319 发表于 2026/09/20 12:54:31 2026/09/20
【摘要】 很多人第一次接触 PHP,会把它理解成一种“写网页的语言”。这个说法不算错,但并不完整。PHP 更准确地说,是一种主要运行在服务器端的脚本语言。浏览器访问一个 PHP 网站时,通常不是浏览器自己执行 PHP,而是服务器收到请求后,由 PHP 运行程序生成 HTML、JSON 等结果,再返回给浏览器。## 一次请求发生了什么?假设你访问:```texthttps://example.com/i...

很多人第一次接触 PHP,会把它理解成一种“写网页的语言”。这个说法不算错,但并不完整。

PHP 更准确地说,是一种主要运行在服务器端的脚本语言。浏览器访问一个 PHP 网站时,通常不是浏览器自己执行 PHP,而是服务器收到请求后,由 PHP 运行程序生成 HTML、JSON 等结果,再返回给浏览器。

## 一次请求发生了什么?

假设你访问:

```text
https://example.com/index.php
```

大致过程可以理解为:

```text
浏览器
  ↓
Web 服务器
  ↓
PHP
  ↓
数据库/文件/其他服务
  ↓
生成 HTML 或 JSON
  ↓
浏览器
```

例如 `index.php`:

```php
<?php

$name = "World";

echo "<h1>Hello, $name!</h1>";
```

PHP 执行后,浏览器真正收到的可能只是:

```html
<h1>Hello, World!</h1>
```

浏览器并不知道你的 PHP 源代码。

## PHP 能做什么?

PHP 最常见的用途仍然是 Web 开发,例如:

- 网站后台
- CMS
- 博客系统
- API 服务
- 管理后台
- 电商网站
- 数据库驱动的 Web 应用

WordPress、Laravel 等生态也让 PHP 长期存在于大量生产环境中。

## PHP 和 Web 服务器是什么关系?

PHP 本身不是 Nginx 或 Apache。

可以简单理解:

- Nginx/Apache:负责接收 HTTP 请求
- PHP:负责执行 PHP 代码
- MySQL:负责保存数据

例如一个典型环境:

```text
Nginx
  ↓
PHP-FPM
  ↓
PHP 程序
  ↓
MySQL
```

这里的 PHP-FPM 是 PHP 的一种常见运行方式,它负责管理 PHP 工作进程。

## PHP 文件到底是什么?

最简单的 PHP 文件就是一个普通文本文件:

```php
<?php

echo "Hello PHP";
```

保存成:

```text
index.php
```

然后交给 PHP 解释器运行。

在命令行中,可以直接:

```bash
php index.php
```

如果输出:

```text
Hello PHP
```

说明 PHP 已经正常运行。

## PHP 和 JavaScript 有什么区别?

初学者经常把 PHP 和 JavaScript 放在一起比较。

最简单的理解是:

```text
PHP       → 主要在服务器执行
JavaScript → 既可以在浏览器执行,也可以在服务器执行
```

传统 Web 页面中:

```text
浏览器 → 请求 PHP → PHP 查询数据库 → 返回 HTML → 浏览器显示
```

而浏览器中的 JavaScript 则可以在页面加载后继续操作 DOM、发送请求和处理交互。

## 小结

这一篇只需要记住三件事:

1. PHP 主要负责服务器端程序。
2. PHP 代码通常由服务器执行,而不是浏览器执行。
3. PHP 经常和 Web 服务器、数据库一起工作。

下一篇,我们开始真正搭建 PHP 环境,让第一个 PHP 程序跑起来。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。