Solved

Best Way To Use Same Files for Live and Local

Posted on 2013-05-13
7
189 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
7 Comments
 
LVL 108

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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 108

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 34

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 108

Accepted Solution

by:
Ray Paseur earned 500 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

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Generating table dynamically is the most common issue faced by php developers.... So it seems there is a need of an article that explains the basic concept of generating tables dynamically. It just requires a basic knowledge of html and little maths…
This article discusses how to create an extensible mechanism for linked drop downs.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

747 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now