PHP生成的HTML内容呈现为纯文本

时间:2013-04-24 00:00:52

标签: php html apache mime-types lamp

我一直在本地(在MAMP中)开展项目,并决定将其上传到我的LAMP服务器。此服务器之前正在运行,但在上传所有新内容之后,它不会呈现HTML,只是将源代码显示为纯文本。

所有PHP似乎都正常工作,因为它显示正确的内容。

无济于事,我尝试使用header("Content-Type: text/html")明确设置内容类型。当我删除PHP包含而不是直接使用HTML时,它可以正常工作。

我正在使用包含其他一些内容的 index.php 文件:

<?php

include_once 'header.php';

include_once 'inc/window.php';
createWindow();

include_once 'footer.php';

?>

也许我的 header.php 文件也可能包含一些线索:

<?php session_start(); ?>

<!doctype html>

<html>

<?php

include_once 'inc/files.php';
$files = json_decode(getFiles($ids));

?>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    <?php

    $title = '';
    foreach($files as $i=>$file){
        $title .= $file->content . ' ';
        if(count($file) > 1 && $i < count($file)-1) $title .= '+ ';
    }

    ?>

    <title>* <?php echo strtolower($title); ?></title>

    <meta name="viewport" content="width=device-width,initial-scale=1">

    <link rel="stylesheet/less" type="text/css" href="css/main.css">

    <script src="js/libs/modernizr-2.0.6.min.js"></script>
</head>

<body>

我的环境正在运行PHP5 +(5.3我相信?),Ubuntu和Apache2。我也有webmin和SSH访问。

任何想法都将不胜感激!

强尼

1 个答案:

答案 0 :(得分:0)

哇 - 经过多一点调试后想出来了!

该问题与files.php文件中设置的内容类型有关:

if(!headers_sent()) header('Content-Type: application/json');

出于某种原因,在发送页面标题之前遇到了这种情况。

我不确定为什么在我的本地网站上没有发生这种情况,如果有人能说出来,我会很高兴地对这个答案进行投票! :)我暂时删除了它,但因为它不是真的必要。

谢谢S / O