Logo
Section 1 / 5

使用内置 Web 服务器提供 HTML 文件

让我们通过使用 PHP 内置的 Web 服务器来“提供” .html 文件,创建最简单的 Web 应用程序。

导入

使用内置 Web 服务器提供 HTML 文件

让我们通过使用 PHP 内置的 Web 服务器来“提供” .html 文件,创建最简单的 Web 应用程序。

设置开发环境

在本平台运行 PHP 应用程序时,无需进行任何环境配置。所有代码都会在我们为你准备的浏览器内特殊环境中运行。

本平台帮你避免陷入复杂的依赖问题,让你直接进入学习状态。

对于仍希望在本地运行 PHP 应用程序的用户,本课程已详细说明了相关步骤。出于简洁考虑,PHP 的安装步骤未包含在内。

创建 PHP 网页应用

首先,为你的项目创建一个目录。 该目录可以位于你电脑的任意位置。 例如,我们创建了一个名为 /home/matthias/Projects/php-for-the-web 的目录。 在你的 IDE 中打开这个目录(推荐使用 PhpStorm)。 然后,在项目目录中创建一个名为 index.html 的文件。 在该文件中粘贴以下 HTML 代码:

1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <title>首页</title> 6</head> 7 8<body> 9 <h1>这是首页</h1> 10</body> 11 12</html>

在命令行中,使用 cd 命令进入你的项目目录(如果你使用的是 Windows 系统,可以右键点击项目目录,选择“在此处打开 Git-Bash”)。

1cd /home/matthias/Projects/php-for-the-web

接下来,我们来看看如何运行这个应用程序。

运行应用程序

我们可以启动 PHP 自带的内置 Web 服务器:

1php -S localhost:8000

在终端中,你应该会看到类似如下信息:

1[...] PHP [...] Development Server (http://localhost:8000) started

这表示 PHP 开发服务器(也称为内置服务器)已经启动。 服务器正在监听 localhost:8000。 这是因为我们在命令行中使用了 -S 选项指定了这个地址:

1php -S localhost:8000

为了验证服务器是否正常工作,请打开浏览器并访问 http://localhost:8000。你应该能看到“这是首页”。

注意: 你实际上并不需要手动跳转或打开任何网址,因为我们已经为你配置好了环境。课程中提供了编码练习环境,你可以随时在其中实践所学内容。此外,在我们的平台上,运行应用的 URL 并不是 localhost,而是使用 http://APPLINK 作为替代。

从现在起,我们将使用 http://APPLINK 代替 localhost。在每个课程中的代码区域下方,运行按钮旁边会显示实际的应用程序访问链接。请记住,只有在代码执行完成后,该链接才会生效。

长时间运行的进程

服务器是一个持续运行的程序;你不需要每次查看首页都重新启动它。 这类程序通常被称为 长时间运行的进程。 为了确认服务器确实在持续运行,请打开浏览器并刷新页面。 你会再次看到首页内容。

让我们测试一下服务器是否能自动识别对 index.html 的修改。 在你的 IDE 中打开 index.html,将文本更改为其他内容,例如:

1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <title>首页</title> 6</head> 7 8<body> 9 <h1>这是主页</h1> 10</body> 11 12</html>

返回浏览器并刷新页面。 你应该现在看到的是“这是主页”,而不是“这是首页”。

很好! 这意味着我们可以让服务器持续运行,修改 .html 文件后,只需刷新页面即可查看更改效果。

运行示例

为了方便你操作,我们已经为你完成了所有设置。只需点击下面的 运行 按钮来启动应用并查看输出结果。点击 运行 按钮下方提供的链接,可在新标签页中查看网页。

No configuration found for ID: 35c783931ba3d06ab179d6e23dbca5f062740ce9048d04b4d9d7c43164bf2489

现在,对文件进行修改并重新运行。你会看到更改已应用到程序中。当你切换到终端标签页时,会发现服务器并未重启。

终端标签页

回到终端。 这里有一些有趣的现象。 每次请求首页时,终端都会新增一行记录。 每行包含时间戳(如 Mon May 11 10:45:08 2020)、状态码(如 200)以及请求的 URL(如 /)。

1[Mon May 11 10:45:08 2020] [...] [200]: / 2[Mon May 11 10:51:27 2020] [...] [200]: /

你也可能看到类似这样的信息:

1[...] [...] [404]: /favicon.ico - No such file or directory

这是浏览器的行为:它尝试在浏览器标签页中显示一个图标(称为 favicon),并试图从你的服务器获取该文件。

...
浏览器标签页中显示的 favicon 图标
  
Course Image

**浏览器未请求 favicon.ico**

在某些情况下,浏览器可能不会向 /favicon.ico 发起请求。一种可能是你已在 http://APPLINK 上运行了另一个网站,浏览器使用了该网站的 favicon。另一种可能是浏览器对 favicon 不感兴趣。无论哪种情况,如果没有看到 404 请求都不影响使用,可继续进入下一节内容。

入门

添加网站图标