Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 362
Bill Avatar asked Oct 03 '22 11:10

Bill


2 Answers

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.

like image 147
Tivie Avatar answered Oct 13 '22 01:10

Tivie


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'; ?>

like image 34
Rashid Pathiyil Avatar answered Oct 13 '22 00:10

Rashid Pathiyil