【问题标题】:Raspberry Pi Apache2 Web Server - Removes all PHP code from HTML and PHP documentsRaspberry Pi Apache2 Web Server - 从 HTML 和 PHP 文档中删除所有 PHP 代码
【发布时间】:2016-06-23 11:43:36
【问题描述】:

我最近在我的 Raspberry Pi 上安装了一个 Apache2 Web 服务器和 PHP5,并将它连接到我的家庭路由器。在显示 HTML 方面一切正常,即使索引文档是 .php 文件也是如此。但是,一旦我尝试输入 any PHP 代码并通过我的浏览器运行它,它就会从文档中完全删除。

<html>
    <head>
        <?php
            $baseUser = fopen("GCusernames.txt", "a");
            $newUser = $_POST['user'];
            fwrite($baseUser, $newUser);
            fclose($baseUser);  
        ?>
    </head>
    <body>
        <h1>Writing to userbase</h1>
    </body>
</html>

PHP document inspected in my browser

我尝试将它来回更改为 HTML 文件并在互联网上搜索线索。但我发现的一切都非常不清楚和模糊。

如果有任何帮助,我将不胜感激。谢谢。

更新:所以在我意识到自己是多么愚蠢(感谢所有回答的人)之后,我现在明白 PHP 代码无论如何都不应该出现在浏览器中。对此感到抱歉。

但是,它仍然没有解释为什么代码根本不执行。它只是直接进入 PHP 页面,而不是执行它。

【问题讨论】:

  • php 是服务器端代码,一旦发出初始请求,它不应该也很可能不会被发送到浏览器
  • PHP 就是这样工作的。如果您在浏览器中看到 PHP 代码,那么您的网络服务器可能有问题
  • php 将在服务器上执行,而不仅仅是显示。你想做什么?
  • 要将内容发送给客户,请查看echo 文档

标签: php html apache raspberry-pi


【解决方案1】:

PHP 由server 解释,它不会发送给用户。 这就是 PHP 的用途。

例如: 您想进行密码登录。您在 php 中编写密码函数是因为用户看不到它。 More Information on PHP

【讨论】:

  • 所以说真的,我只是个白痴。很抱歉浪费您的时间。如果你能被打扰,你能看看更新吗? /\/\/\
  • 你是如何测试它的?创建一个包含以下内容的 php 文件:。如果您看到它在没有回声的情况下运行,一切正常
【解决方案2】:

PHP 由您的 '.php' 文件所在的服务器运行,在本例中为您的 Raspberry Pi。当您从 PI 请求页面时,您的 PHP 代码将在任何 HTML 返回到您的浏览器之前执行。

您永远不会在浏览器的检查器中看到您的 PHP 代码,因为您的浏览器甚至都不知道它的存在。

如果你添加了类似的东西:

<?php echo "This sentence was written by PHP"; ?>

在您的页面上,您会在 HTML 中看到文本 This sentence was written by PHP,但不会看到单词 echo&lt;?php ? 标记。

PHP docs 中有一篇很棒的文章解释了 PHP 的三个主要功能。他们还有一个good guide 介绍如何开始使用 PHP,如果您不熟悉它,可能值得一试。


进一步阅读:

【讨论】:

  • 好的,所以我比我想象的更菜鸟。很抱歉浪费您的时间。如果你愿意的话,你能看看更新吗? /\/\/\谢谢。
  • 所以你只是想打开一个文件,在它的末尾写一个字符串然后再次关闭文件?你怎么知道它不起作用? GCusernames.txt 文件中有什么可以证明的呢?错误日志中发生了什么,你有没有error logging turned on?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 1970-01-01
  • 2020-07-28
  • 2013-01-19
  • 2018-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多