【问题标题】:Echo statement is echoing non-textEcho 语句正在回显非文本
【发布时间】:2018-08-01 22:50:12
【问题描述】:

我正在运行一个我在 python 上设置的简单的瓶子服务器:

from bottle import route, run, static_file

@route('/')
def home():
    return static_file("home.html", root='.')

@route("/<fileName>")
def respond(fileName):
    return static_file("%s" % fileName, root='.')

run(host="localhost", port=8080, reloader=True)

当我运行此代码时,它运行良好,我可以将任何文件名添加到本地主机 url(http://localhost:8080),如果存在,代码将返回指定的文件。所以我可以输入“https://localhost:8080/home.html”,它会返回我的 home.html 文件,显示:欢迎来到我的主页!

<!DOCTYPE html>
<html>
<head>
    <title>test page</title>
</head>
<body>
    <h1>Welcome to my home page!</h1>
</body>
</html>

但是,每当我尝试嵌入 PHP 回显语句时,它总是会添加文本后面的内容,例如:

<!DOCTYPE html>
<html>
<head>
    <title>PHP test page</title>
</head>
<body>
    <?php
        echo "<h1>Welcome!</h1>";
    ?>
</body>
</html>

返回:Welcome!"; ?&gt;

当我尝试使用带有 php 扩展名的纯 PHP 文件时也会发生这种情况:

<?php
    echo "<h1>Welcome!</h1>";
?>

我需要在我的服务器代码中添加什么,或者我的 PHP 安装有什么问题吗? (我知道PHP代码是对的)

【问题讨论】:

  • 你期望 python 服务器会处理 php
  • 嗯,是的。我买了一本 PHP 书,在示例中它只是以与 python 代码相同的方式托管文件。不过书中的例子都是使用第三方可执行文件来托管的(我不想用,我很想用python)
  • 好吧,放弃吧。 Python 服务器不会处理 php。那是 apache2 服务器的作用域。
  • 使用 python 处理 php 就像制作猫叫一样。你可以花很多时间在训练上,但养狗会更快。
  • 你为什么不直接运行php? php -S 127.0.0.1:80 -t /path/to/your/php/files/

标签: php python html echo bottle


【解决方案1】:

你能简单地运行 php 而不是 Python 吗?

php -S 127.0.0.1:80 -t /path/to/your/php/files/

【讨论】:

  • 谢谢!我创建了一个 python 可执行文件来运行 php 命令来托管服务器,它运行良好!我不太清楚如何在空 url 上提供文件... (localhost:8080)
猜你喜欢
  • 2013-10-27
  • 1970-01-01
  • 2012-11-29
  • 2017-01-20
  • 1970-01-01
  • 2017-11-04
  • 1970-01-01
  • 2018-10-05
  • 1970-01-01
相关资源
最近更新 更多