Fala pessoal,
Um probleminha muito comum que me atrapalhava quando eu não usava frameworks é ficar configurando o arquivo de conexão do MySQL pra servidor local e externo… Ao longo dos anos vim criando métodos mais eficazes e esse aqui eu criei hoje.
Esse script tem uma vantagem enorme: ele decide qual configuração de conexão usar em função do domínio que está sendo utilizado pra acessar o site!
Por exemplo: Se você estiver acessando o site pelo 127.0.0.1 ele usa a configuração de conexão local, se estiver acessando por um domínio escolhido, thiagobelem.net por exemplo, ele usa outra configuração… Não tem limite de configurações, você pode definir quantas quiser.
Vamos ao script:
/**
* Arquivo de conexão ao MySQL usando servidor local e externo
*/
$n = -1;
// Define os servidores e configurações de cada conexão
$n++;
$MySQL[$n]['dominios'] = array('127.0.0.1', 'localhost'); // Possíveis dominios
$MySQL[$n]['servidor'] = '127.0.0.1'; // Servidor MySQL
$MySQL[$n]['usuario'] = 'root'; // Usuário MySQL
$MySQL[$n]['senha'] = ''; // Senha MySQL
$MySQL[$n]['banco'] = 'meu_banco'; // Banco de dados
$MySQL[$n]['persis'] = false; // Conexão persistente?
$n++;
$MySQL[$n]['dominios'] = array('thiagobelem.net', 'thiagobelem.com.br');
$MySQL[$n]['servidor'] = '127.0.0.1'; // Servidor MySQL
$MySQL[$n]['usuario'] = 'meu_usuario'; // Usuário MySQL
$MySQL[$n]['senha'] = 'minha_senha'; // Senha MySQL
$MySQL[$n]['banco'] = 'meu_banco'; // Banco de dados
$MySQL[$n]['persis'] = false; // Conexão persistente?
// Decide qual conexão usar
foreach ($MySQL as $key=>$servidor) {
if (!isset($_SERVER['HTTP_HOST'])) {
$usar = $key;
break;
} else {
$encontrado = false;
foreach ($servidor['dominios'] as $dominio) {
if (strpos($_SERVER['HTTP_HOST'], $dominio) !== false) {
$usar = $key;
$encontrado = true;
break;
}
}
if ($encontrado)
break;
}
}
// Decide o tipo de conexão
$MySQL['conexao'] = ($MySQL[$usar]['persis']) ? 'mysql_pconnect' : 'mysql_connect';
// Conecta-se ao servidor usando o tipo de conexão definido
$MySQL['link'] = $MySQL['conexao']($MySQL[$usar]['servidor'], $MySQL[$usar]['usuario'], $MySQL[$usar]['senha']) or die("Não foi possível se conectar ao servidor MySQL no endereço [".$MySQL[$usar]['servidor']."]");
// Conecta-se ao banco de dados
mysql_select_db($MySQL[$usar]['banco'], $MySQL['link']) or die("Não foi possível conectar-se ao banco de dados [".$MySQL[$usar]['banco']."] no servidor [".$MySQL[$usar]['servidor']."]");
Pra criar mais uma configuração de conexão é só duplicar esse bloco:
$n++;
$MySQL[$n]['dominios'] = array('thiagobelem.net', 'thiagobelem.com.br');
$MySQL[$n]['servidor'] = '127.0.0.1'; // Servidor MySQL
$MySQL[$n]['usuario'] = 'meu_usuario'; // Usuário MySQL
$MySQL[$n]['senha'] = 'minha_senha'; // Senha MySQL
$MySQL[$n]['banco'] = 'meu_banco'; // Banco de dados
$MySQL[$n]['persis'] = false; // Conexão persistente?
Gostaram? Ele tá todo comentado.. Qualquer dúvida é só comentar! =)
Abraços
Documentação Oficial:
- Arrays » Cria um array (matriz com vários elementos)
- Função strpos() » Encontra a primeira ocorrencia de uma string em outra string
- Função mysql_connect() » Abre uma conexão com o servidor MySQL
- Função mysql_pconnect() » Abre uma conexão persistente com o servidor MySQL
- Função mysql_select_db() » Conecta-se a um banco de dados disponível no servidor MySQL
Você também vai gostar de ler:
- Conexão via FTP com o PHP
- Contador de visitas usando o MySQL
- Criando um sistema de login com PHP e MySQL
- Contador de visitantes online em PHP e MySQL
- Sistema de busca em PHP e MySQL com paginação
Postado em MySQL, PHP, Tutoriais
Com as tags Banco de Dados, Conexão, Configuração, DIE, Documentação, Domínio, Externo, Framework, Frameworks, MySQL, PHP, Root, Scripts, Senha, Servidor, SQL
Escrito por Thiago Belem
Gostou desse artigo?
Não se esqueça de assinar o RSS e divulgue-o para o mundo: