?
Solved

Best Way To Use Same Files for Live and Local

Posted on 2013-05-13
7
Medium Priority
?
204 Views
Last Modified: 2013-06-27
Hi,

I want to use the same files whether they are on my live server or on my test server.

I have a config file /includes/config.php that I load into each file

<?php require $_SERVER['DOCUMENT_ROOT'].'../includes/config.php';?>

When this file is loaded, it contains the paths for either local or live, Its just the trick of getting it to load.

On my test server the doc_root is C:\xampp\htdocs (but then in a difft folder /testsite)
On my live server the doc root is /home/live/live.net
What is the simplest way for me to achieve this with code I DON'T have to change if I were to load this site on any server?
0
Comment
Question by:Computer Guy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 111

Expert Comment

by:Ray Paseur
ID: 39161193
Run this function and look at the output: getcwd() and then read the documentation about Directory Functions.  You may find that the use of DOCUMENT_ROOT is not an advantage, but an impediment to developing a universal, correct path!
0
 
LVL 6

Expert Comment

by:BurundiLapp
ID: 39161365
We use DOCUMENT_ROOT but we define it in a seperate file that is loaded using the prepend command in php.ini, the file is unique to the server not the website but it is one of only two files that need editing on the move from test to live, or in your case from local to live.

This is on IIS internally but on Apache externally and it works ok.
0
 
LVL 3

Author Comment

by:Computer Guy
ID: 39161384
This is Apache. Does not have to be DOCUMENT_ROOT, I'm totally open to suggestions.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 111

Expert Comment

by:Ray Paseur
ID: 39161407
What do you see from this script?  Please post the output from both the local and live versions.
<?php var_dump(getcwd());

Open in new window

0
 
LVL 35

Expert Comment

by:gr8gonzo
ID: 39162595
Generally speaking, I try to build all my applications to use relative paths, so I generally avoid using DOCUMENT_ROOT or any specified "top folder" at all.

If I ever need to rely on an absolute path (not frequently), I use dirname(__FILE__) to get the current full path to the file that is executing that code, then I step up as necessary to get to the application's root folder.

So for example, my PHP code looks like:
include("../modules/dosomething.inc.php");
require("includes/library.php");

and in HTML:
<script type="text/javascript" src="js/jquery.js"></script>
<img src="images/logo.gif">

It makes my applications VERY portable and makes it easy to establish testing and dev environments. It might be too late in this application (not sure how much code uses absolute paths), but I figured I would add my 2 cents.
0
 
LVL 3

Author Comment

by:Computer Guy
ID: 39215900
I'm still working on this.
0
 
LVL 111

Accepted Solution

by:
Ray Paseur earned 2000 total points
ID: 39249881
How's it going? Did you run this one-line script yet?
<?php var_dump(getcwd());

Open in new window

0

Featured Post

WordPress Tutorial 2: Terminology

An important part of learning any new piece of software is understanding the terminology it uses. Thankfully WordPress uses fairly simple names for everything that make it easy to start using the software.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Popularity Can Be Measured Sometimes we deal with questions of popularity, and we need a way to collect opinions from our clients.  This article shows a simple teaching example of how we might elect a favorite color by letting our clients vote for …
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
Suggested Courses

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question