The hostname of your server or local system is an easy way to determine which
environment you are working with, either local or production. Prior to PHP 5.3
you would need to utilize the php_uname()
function and with 5.3+ there is a
built-in function for getting the hostname:
pre-5.3
$hostname = php_uname('n'
5.3+
$hostname = gethostname
Once you have the hostname, you can do a simple conditional to determine if
you are working on running code in your local development environment or out
on your server:
if ($hostname == 'production') {
// Production stuff
} else {
// Local stuff
}
If you have multiple regions, you could change up the if/else
for a switch
statement:
switch ($hostname) {
case 'production':
// Production stuff
break
case 'staging':
// Staging stuff
break
case 'development':
case 'local':
default:
// Local stuff
break
}
What sort of logic would you need to run on a per environment basis? Well,
perhaps you use different database credentials in each environment, or you
want to pre-populate the database in your local or staging environments. It’s
really up to you and the possibilities are endless!