为什么PHP包含在本地服务器而不在网站上

Problem Description in Brief:
PHP script seems to work on my local web server when I 'include' it from the footer tag of my index.html file, but does not work when I upload it to my website. Note that I have made sure that all paths are correct, and that the script file has its own php tags, etc.

Problem Description in Detail:
Yes, I am new to PHP scripting, and yes, variants of this question have probably been asked before. The answers to a few of the questions I have read have noted the path of the php script files to be incorrect. I have checked all paths and confirmed that they are indeed correct (including those on the web hosting server). Furthermore, I have been successful in getting the script to work on my local server running Apache2 with PHP5, but have not been successful when uploading it to my website.

Essentially, I am trying to implement a hit counter script which I have acquired from a Stack Overflow post labelled Visitors counter for simple web sites like Vinaora. The code that invokes the php script looks something like this....

  &ltfooter&gt
    &lt!-- Execute Hit Counter Script --&gt
    &lt?php include($_SERVER['DOCUMENT_ROOT'].'/php/hitcounter.php'); ?&gt
  &lt/footer&gt

For the likes of me, I cannot figure out why it does not work on the web hosting server. I have tried other combinations of invoking the script like,

  &ltfooter&gt
    &lt!-- Execute Hit Counter Script --&gt
    &lt?php include('./php/hitcounter.php'); ?&gt
  &lt/footer&gt

and,

  &ltfooter&gt
    &lt!-- Execute Hit Counter Script --&gt
    &lt?php include(dirname(__FILE__).'/php/hitcounter.php'); ?&gt
  &lt/footer&gt

All combinations seem to work on my local web server, but not on the website! Also note that, I have no problem invoking other PHP scripts using other methods (even on the web hosting server), eg.

    &ltform id="form-query" onsubmit="this.checkValidity();" action="./php/contact.php" method="post"&gt

Any advice/suggestions would be appreciated.

Do you get any PHP error?

First of all, you need to activate error reporting.

Put this before including your file

ini_set('display_errors',1);
error_reporting(-1);

PHP should tell you what's happening.

If you don't see anything, change the filename index.html to index.php and try again.

You might try pasting the "include" code directly into the calling code. Maybe it's the included code itself that's misbehaving...

You are doing completely incorrect thing in the first place.

PHP script seems to work on my local web server when I 'include' it from the footer tag of my index.html

is just totally wrong

There is no such thing as embedding php file within html file (aside from mod_rewrite ...). For PHP script to be interpreted you must have it (in 99% of cases) with php suffix. This way you allow PHP to distinguish it from regular PHP and send to php interpreter.

Put simply - create this file (a.html):

<body>
abcd<?php echo 'efgh';?>
</body>

and see the result in your browser - use .../a.html

What do you see?

abcd

and not

abcdefgh

On top you always have to have php not the other way around. Solve this or update your question if incorrect.

Maybe be you have used "\" in your include path

Wrong:

<?php include 'includes\header.php'; ?>

You should use "/" to work.

Current:

<?php include 'includes/header.php'; ?>

sometimes it might be dues to casing. check if you you uppercase in naming. on some servers Index.php is not equal to index.php