我正在用PHP开发代码。我正在创建一个网站来演示使用PHP代码的脚本。
有人可以解释如何构建这个项目。
我有许多碎片(文件),但不能正确凝固它们。
启动index.php
显示“未找到服务器”。
启动index.html
会显示正确的元素,这些元素在点击时会正确导航到其他页面。
我的问题是,当主页条目为index.php
且主页条目为index.html
时,有人要求逻辑向我解释?
当我从任何网站查看来源时,始终只有html
代码可见。
答案 0 :(得分:3)
使用.php文件告诉您的Web服务器使用PHP解释器运行PHP代码。如果您使用.html,它不会通过解释器运行您的代码。
您在查看源代码时只看到HTML代码的原因是,PHP用于决定向用户显示的内容,您使用HTML来决定如何向用户显示该信息。
服务器将HTML提供给浏览器,因此浏览器知道如何显示内容。浏览器不关心任何PHP,因为PHP在服务器(服务器端)上运行。 HTML部署在浏览器(客户端)中。
你当然可以隐藏.php扩展名,但是如果你不明白PHP实际上是什么,我觉得这超出了答案的范围。
编辑:我假设你使用Windows?如果是这样,你需要安装某种WAMP堆栈(Windows,Apache,Mysql,PHP)。 Google就是其中之一。这将安装运行PHP代码所需的软件。答案 1 :(得分:3)
我认为混淆来自PHP和HTML之间的区别。
PHP是一种服务器端语言。这意味着在加载HTML页面之前解析PHP。 PHP不需要提供HTML,但它当然可以。
如果你有一个PHP脚本,比如index.php,你就这样做了:
<?php
echo "Hello, World!";
?>
您实际在做的是告诉Apache在浏览器通过HTTP / HTTPS发起请求时使用PHP的解析器来执行此脚本。
步骤:
index.php
。index.php
。Hello World!
是HTML。Hello World!
这意味着您对PHP文件所做的每个请求都会在您看到浏览器之前完成这些过程。
这就是为什么如果你创建一个巨大的循环,网站加载需要很长时间。服务器还没有准备好提供HTML,因为它正在进行计算。
Apache配置为读取PHP时,通常会读取.php
个文件。但是,如果您愿意,可以破解Apache让PHP解析任何文件扩展名,包括.html
,.xml
,甚至.jpg
。
答案 2 :(得分:2)
这取决于网络服务器的配置方式。例如,apache使用dir_module并将一个接一个地在httpd.conf中查找定义为DirectoryIndex的所有文件。
示例httpd.conf(Snippet)
<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
编辑:我想我错过了解释这个问题?! OO
PHP是服务器端,而HTML将在客户端(您的浏览器)呈现。因此,您将永远无法看到其他PHP代码,这有很多原因。