Why PHP include is working on local server and not on website

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....

  <footer>
    <!-- Execute Hit Counter Script -->
    <?php include($_SERVER['DOCUMENT_ROOT'].'/php/hitcounter.php'); ?>
  </footer>

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,

  <footer>
    <!-- Execute Hit Counter Script -->
    <?php include('./php/hitcounter.php'); ?>
  </footer>

and,

  <footer>
    <!-- Execute Hit Counter Script -->
    <?php include(dirname(__FILE__).'/php/hitcounter.php'); ?>
  </footer>

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.

    <form id="form-query" onsubmit="this.checkValidity();" action="./php/contact.php" method="post">

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.


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


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

链接地址: http://www.djcxy.com/p/58594.html

上一篇: 密码超过8个字符的PHP

下一篇: 为什么PHP包含在本地服务器上而不是在网站上