【问题标题】:Apache server: can't render php and html at once [closed]Apache服务器:无法一次呈现php和html [关闭]
【发布时间】:2012-03-02 14:51:22
【问题描述】:

我正在运行带有 Apache 的 Ubuntu 服务器。 PHP 和 HTML 都使用各自的文件扩展名正确运行。当我尝试将 PHP 代码添加到 HTML 文件中时,当我在 httpd.conf 中使用以下内容时,它会呈现 PHP 而不是 HTML

AddHandler application/x-httpd-php .html

有什么建议吗?

【问题讨论】:

  • 请发布您要渲染的代码(PHP 和 HTML)。如果文件中有任何 PHP,则需要使用 .php 扩展名来命名,因为 .php 文件呈现 HTML 代码与 .html 文件完全相同。 (.php 扩展名告诉服务器有额外的东西要处理)。
  • @mesh 错了,你可以配置 Apache 将 HTML 文件渲染为 PHP
  • 检查您的浏览器从 Apache 获取的标头,您可能由于某种原因丢失了 Content-Type: text/html 标头。
  • @mesh: mod_php 不在乎你如何称呼你的文件。重要的是 Apache 将文件正确地交给 PHP 解释器。请记住,没有“php 脚本”之类的东西。只有文件中嵌入了 php 代码块。
  • @mesh RTFM,您可以使用AddHandler 指令将HTML 文件解释为PHP,同样您也可以对CSS 或JS 文件执行此操作。

标签: php html apache ubuntu httpd.conf


【解决方案1】:
header('Content-Type: text/plain');

在 PHP 代码中并把所有东西都扔掉了!

【讨论】:

    【解决方案2】:

    稍微看一下它看起来很像你应该有的

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

    注意AddHandler 前面没有application/

    http://www.honeytechblog.com/how-to-fix-applicationx-httpd-php-trouble-in-getting-php-to-parse/找到此信息

    【讨论】:

    • 这会导致网页被下载。
    • 你能检查一下 Apache 发送的内容类型吗?你可能不需要第一行AddType
    • 当我删除第一行时,html 会正确呈现,但 php 不会。 :(
    • .php 扩展名的 AddType 或 AddHandler 是什么?
    • 我没有,默认的 apache 设置会在安装后获取。它没有 htaccess 文件,也没有 httpd.conf
    猜你喜欢
    • 1970-01-01
    • 2012-07-28
    • 2013-04-04
    • 2020-09-27
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 2013-12-18
    相关资源
    最近更新 更多