0

当我访问一个网站时,我的浏览器会向一个 HTTP 服务器发送一个请求,例如 Apache 或 IIS。然后 HTTP 服务器将请求转发到适当的 Web 服务器、.NET、PHP、Ruby on Rails 等。然后这会向我的浏览器返回响应并呈现页面。

这在本地网页上如何工作?假设我在 Windows 桌面上用 PHP (hello.php) 创建了一个简单的 hello world。我没有安装 IIS,那么处理“请求”是什么?也就是说,是什么告诉我的请求由 php 解释,这又是如何返回到我的浏览器的?我已经尝试了几次谷歌搜索,但我怀疑我的搜索词可能太模糊了。

4

2 回答 2

1

这个问题有点模棱两可。磁盘上的 PHP 文件根本不会被渲染,除非它存在于为 Web 服务器配置的 Document Root 中。

例如,如果您的文件存在于 C:\PHP_Scripts 中,则必须将 C:\PHP_Scripts 配置为 Web 服务器的文档根目录。

有关如何在 Apache HTTP 服务器中设置文档根的更多信息,请参阅以下链接: Apache Web 服务器文档根创建

话虽如此,在您的情况下,假设文件(例如 test.php)现在存在于 C:\PHP_Scripts 下,并且已配置为 Web 服务器的文档根目录的一部分;当您请求时会发生以下情况http://localhost/test.php

  1. Web 服务器引用文档根目录并搜索名为 test.php 的文件。
  2. 由于这是一个 php 文件,因此 PHP 解释器会启动并处理该脚本。
  3. 处理的结果返回给用户。在某些情况下,处理可能是一项任务,例如将数据提交到后端并将用户重定向到另一个页面。

请注意,必须将 Apache HTTPD 服务器配置为与 PHP 一起使用才能使上述所有内容都成立。

于 2013-07-15T05:05:24.890 回答
0

如果您可以在本地机器上运行 PHP,那么您的机器可能安装了带有 PHP 解释器的 Web 服务器(安装了 PHP、XAMPP、MAMP 或类似软件的 Apache)。

于 2013-07-15T04:50:51.527 回答