简体   繁体   中英

php/mysql connection on different servers

I have a local and a remote server on which I am developing a project

//local
$servername = "localhost";
$username = "bob";
$password = "fred";
$dbname = "jane";

//remote
$servername = "arthur";
$username = "Milly";
$password = "Horace";
$dbname = "Erastus";

At the moment I am commenting out the //local or //remote bit depending which way I am connecting. Of course, I regularly overwrite the connection file by mistake which is a pain.

Is there some sort of way I can detect which server I am on, and then connect automatically. I have tried googling but couldn't turn anything up maybe because i couldn't think of the right search terms.

Thanks

There are more than a few ways of doing this but one you could try is to detect which server you are on from the IP Address

if ($_SERVER['SERVER_ADDR'] === '127.0.0.1') {
  $servername = "localhost";
  $username = "bob";
  $password = "fred";
  $dbname = "jane";
} else {
   //remote
  $servername = "arthur";
  $username = "Milly";
  $password = "Horace";
  $dbname = "Erastus";
}

You can try this code:-

<?php

if ($_SERVER['SERVER_NAME'] == "localhost") {
$servername = "localhost";
$username = "bob";
$password = "fred";
$dbname = "jane";
}
elseif ($_SERVER['SERVER_NAME'] == "google.com") {
$servername = "arthur";
$username = "Milly";
$password = "Horace";
$dbname = "Erastus";
}
else {
echo "No configuration found!";
exit;
}

try this code :-

$conn = new mysqli($servername1, $username1, $password1);
if (! $conn->connect_error) {
$conn = new mysqli($servername2, $username2, $password2);    
}

Or check :-

$_SERVER['HTTP_HOST']=="localhost"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM