-1

我正在用 PHP 开发代码。我正在创建一个网站来演示使用 PHP 代码的脚本。

有人可以解释如何构建这个项目。

我有很多拼图(文件),但无法正确地将它们凝结起来工作。

启动index.php显示“找不到服务器”。启动index.html会显示正确的元素,单击这些元素可以正确导航到其他页面。

我的问题是要求有人在逻辑上向我解释home 入口是什么index.php时候以及 home 入口是什么时候index.html

当我从任何站点查看源代码时,它总是且只有html代码可见。

4

3 回答 3

3

我相信混乱来自 PHP 和 HTML 之间的差异。

PHP 是一种服务器端语言。这意味着在加载 HTML 页面之前解析 PHP。PHP 不需要提供 HTML,但它当然可以。

如果你有一个 PHP 脚本,比如 index.php,你可以这样做:

<?php
echo "Hello, World!";
?>

当浏览器通过 HTTP/HTTPS 发起请求时,您实际上正在做的是告诉 Apache 使用 PHP 的解析器来执行此脚本。

步骤如下:

  1. 客户端(浏览器)调用index.php
  2. 服务器(主机)解析index.php.
  3. 服务器(主机)返回任何 HTML(echo 吐出任何存在的Hello World!内容,HTML 也是如此。
  4. 客户端(浏览器)接收 HTML。

输出(源代码客户端由服务器给出):

Hello World!

这意味着您对 PHP 文件的每个请求在您看到浏览器之前都会经过这些过程。

这就是为什么如果您创建一个巨大的循环,网站需要很长时间才能加载。服务器尚未准备好提供 HTML,因为它正在进行计算。

Apache 在配置为读取 PHP 时,通常会读取.php文件。但是,您可以破解 Apache 让 PHP 解析任何文件扩展名,包括.html, .xml,或者即使.jpg您想要。

于 2014-05-07T16:05:41.853 回答
3

使用 .php 文件告诉您的 Web 服务器使用 PHP 解释器运行 PHP 代码。如果您使用 .html 它不会通过解释器运行您的代码。

查看源代码时只看到 HTML 代码的原因是 PHP 用于决定向用户呈现什么,您使用 HTML 来决定如何向用户显示该信息。

HTML 由服务器提供给浏览器,因此浏览器知道如何显示内容。浏览器不关心任何 PHP,因为 PHP 在服务器(服务器端)上运行。HTML 部署在浏览器(客户端)中。

您当然可以隐藏 .php 扩展名,但如果您不了解 PHP 实际上是什么,我觉得这超出了答案的范围。

编辑:我假设您使用 Windows?如果是这样,您需要安装某种 WAMP 堆栈(Windows、Apache、Mysql、PHP)。谷歌搜索其中之一。这将安装运行 PHP 代码所需的软件。

于 2014-05-07T15:45:25.520 回答
2

这取决于网络服务器的配置方式。比如apache使用了dir_module,会在httpd.conf中依次查找所有定义为DirectoryIndex的文件。

示例 httpd.conf(片段)

<IfModule dir_module>
    DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
                   default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
                   home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>

https://httpd.apache.org/docs/current/mod/mod_dir.html

编辑:我想我误解了这个问题?!哦

PHP 是服务器端的,而 HTML 将在客户端(您的浏览器)上呈现。因此,您将永远无法看到其他 PHP 代码,这有多种原因。

于 2014-05-07T15:44:49.880 回答