PHP 在 HTML 中被注释掉

新手上路,请多包涵

我创建了一个简单的 HTML 网页,在 HTML 代码中包含以下 PHP 代码。

 <?php echo date('l, F jS, Y'); ?>

当我运行 HTML 页面并查看它显示的源代码时:

 <!--?php echo date('l, F jS, Y'); ?-->

我究竟做错了什么?为什么它被注释掉了?

HTML 网页文件的扩展名为 .html。

原文由 Renier 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 850
2 个回答

要运行 PHP 脚本,您必须将文件另存为 .php 文件。您还需要在服务器上执行它。您不能直接从浏览器运行 php,因为 PHP 是 HTML 预处理器 - 您的浏览器与 PHP 无关,它只获取服务器生成的 HTML。

因此,由于 PHP 标记在 HTML 文件中无效,当服务器未对其进行预处理时,浏览器无法识别它,因此它会自动将其转换为注释,因为它不知道还能用它做什么。

编辑以获取更多信息

如果您想查看已处理的 php 文件的结果,您需要从某种服务器运行它(例如通过 XAMPP 使用 Apache,但有很多选项)。如果您随后在本地主机服务器上查看生成的页面,它将为您提供处理后的 php 代码,这应该是所需的输出。您可以查看用于运行服务器的任何程序的手册,以了解有关如何执行此操作的更多详细信息。

请注意,即使您有一个正在运行的服务器,在您的浏览器中本地打开 .php 文件仍然不会向您显示处理后的结果(即,它仍然会将您的 php 代码显示为注释)。您需要通过类似 http://localhost/mypage.php 之类的方式查看页面,或者将任何位置设置为特定本地主机服务器的默认 url。

原文由 Joeytje50 发布,翻译遵循 CC BY-SA 4.0 许可协议

我究竟做错了什么?

如果该文件由 Apache 提供服务,则您尚未启用 php 解释器以在 html 文件上运行。 Apache(默认情况下)不会在 html 文件上运行 php 解释器。

为什么它被注释掉了?

正如其他人所指出的,浏览器不知道如何处理 php 标记。

如果你想在 html 文件中解释 php 而不是将文件重命名为 .php 那么你可以将 .html 扩展名添加到 php 解释器,如下所示:

 AddType application/x-httpd-php .php .html

此行位于 httpd.conf 文件中。

我并不是说这是一种正确的方法,但我相信它确实可以回答您的第一个问题。

原文由 CramerTV 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏