Solved

Best Way To Use Same Files for Live and Local

Posted on 2013-05-13
7
197 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 109

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
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 109

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 109

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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Dynamic Dropdowns 15 32
jQuery force form POST 7 43
How to delete values from an array using php 4 22
Showing multiple maps using PHP and Google Maps 8 19
Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

791 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