使用filename.php时,浏览器上不显示任何内容

it produces output when it is saved as filename.html but when i try to change it to filename.php

then open the link in the brown using filename.php it doesnt produce output anymore

NOTE: i removed some of the code too long

       <?php
echo"
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <script>
        print code requirement
        function printpage()
        {
        window.print();
        }
        </script>
        print code requirement


        <meta name="keywords" content="" />
        <meta name="description" content="" />
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>WildFlowers by FCT</title>
        <link href='http://fonts.googleapis.com/css?family=Oswald:400,300' rel='stylesheet' type='text/css'>
        <link href='http://fonts.googleapis.com/css?family=Abel' rel='stylesheet' type='text/css'>
        <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
        <style type="text/css">

        #wrapper #header-wrapper #header h1 a strong {
            font-family: Georgia, "Times New Roman", Times, serif;
            size: '100';
            font-size: 40px;
        </body>
        </html>

";
        ?>

You have to remove <?php and ?>. Between these two tags there must be php-code and no html.

Edit: Maybe no errors are reported, because your server is configured to suppress errors.

This is because you open PHP tag at the beginning of file:

<?php

Close it before your HTML markup:

<?php
    // your php code
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

You can not have html in your php tags, if you want to use html you have to end the close your php first so something like this:

<?php
// php code here
?>

html code here

<?php
// php here
?>

If You need to write html inside php code use the echo statement. ex:

<?php echo"
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
    <head></head>
    <body>
        //your code here
    </body>
</html>";
?>

Put some space after the echo..And use single quote['] insted of double.And change all single quotes from your code to double quote.(")

eg: -

<?php echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body> Bla bla bla
    </body>
</html>';
?>

The problem in your code is, you just started the codes with double quote.So the PHP server consider the next double quote is the closing of the echo statement.So there is nothing to print inside the first two double quote.But if you take the page source, you can see

<!DOCTYPE html PUBLIC