PHP: Descobrindo se o servidor é local ou externo

Para esta “descoberta” utilizaremos a variável global $_SERVER.

Detalhes:
$_SERVER é um array contendo informações como headers, caminhos e localizações do script.

$_SERVER é pré-definida no PHP como “superglobais“, que significa que está disponível em todos escopos para todo o script.

Exemplo:

<?
$tipo_conexao = $_SERVER['HTTP_HOST'];
 
if (($tipo_conexao == 'localhost') || ($tipo_conexao == '127.0.0.1')){
	// para uso local
	$hostname = 'localhost';
	$username = 'informe_o_usuario_local';
	$password = 'informe_a_senha_local';
	$database = 'nome_da_basededados_local';
}else{
	// para uso externo
	$hostname = 'dbxxxx.whservidor.com'; // ex: servidor com hospedagem no uolhost
	$username = 'informe_o_usuario_externo';
	$password = 'informe_a_senha_externo';
	$database = 'nome_da_basededados_externo';
}
 
$link = mysql_connect($hostname, $username, $password);
if (!$link) {
    die('Erro na conexão: ' . mysql_error());
}
 
if (! mysql_select_db($database) ) {
    die ('Não é possível acessar o bando de dados : ' . mysql_error());
}
?>

Só para constar, existem discussões entre a utilização de:
$_SERVER[‘HTTP_HOST’] e $_SERVER[‘SERVER_NAME’].

Não entraremos no mérito da questão.

Até a próxima!

2 comentários em “PHP: Descobrindo se o servidor é local ou externo

  • 1 de outubro de 2010 em 11:18
    Permalink

    Nossa, esse post salvou meu dia hahahaha
    cansei de procurar no google como configurar um banco externo, valeu mesmo 😀

    Resposta
  • 2 de novembro de 2014 em 14:57
    Permalink

    Fantárdigo :p Realmente muito bom era o que eu precisava saber :0

    Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *