Aprenda a configurar variáveis de ambiente no PHP de forma segura

Veja como definir e acessar variáveis de ambiente no PHP para armazenar informações sensíveis com segurança.

Como configurar variáveis de ambiente no PHP

Variáveis de ambiente são essenciais para armazenar informações sensíveis, como credenciais de banco de dados, chaves de API e configurações do sistema, sem expô-las diretamente no código-fonte.

Definindo variáveis de ambiente no sistema

A forma mais comum de definir variáveis de ambiente é configurá-las no próprio sistema operacional.

No Linux/macOS: Edite o arquivo .bashrc ou .zshrc e adicione:

export DB_HOST='localhost'
export DB_USER='root'
export DB_PASS='senha123'

Após salvar, recarregue as configurações:

source ~/.bashrc  # Ou source ~/.zshrc

No Windows:

  1. Abra o Painel de Controle > Sistema > Configurações Avançadas do Sistema.
  2. Clique em Variáveis de Ambiente e adicione as variáveis necessárias.

Acessando variáveis de ambiente no PHP

Para recuperar essas variáveis dentro do código PHP, use:

<?php
$dbHost = getenv('DB_HOST');
$dbUser = getenv('DB_USER');
$dbPass = getenv('DB_PASS');

echo "Host: $dbHost, Usuário: $dbUser";
?>

Isso permite acessar os valores sem precisar inseri-los diretamente no código.

Utilizando arquivos .env com PHP

Uma alternativa eficiente é utilizar um arquivo .env, muito comum em frameworks como Laravel. Para isso, instale a biblioteca vlucas/phpdotenv via Composer:

composer require vlucas/phpdotenv

Em seguida, crie um arquivo .env na raiz do projeto:

DB_HOST=localhost
DB_USER=root
DB_PASS=senha123

E carregue essas variáveis no PHP:

<?php
require 'vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

$dbHost = $_ENV['DB_HOST'];
$dbUser = $_ENV['DB_USER'];
?>

Dessa forma, as variáveis ficam armazenadas separadamente, garantindo maior segurança e flexibilidade.

A prática de armazenar credenciais e configurações sensíveis diretamente no código pode trazer sérios problemas de segurança. Variáveis de ambiente são amplamente utilizadas para garantir que esses dados sejam protegidos e possam ser alterados sem a necessidade de modificar o código-fonte. Além disso, frameworks modernos, como Laravel e Symfony, utilizam arquivos .env para manter essas configurações organizadas e fáceis de gerenciar. Dominar o uso de variáveis de ambiente é um passo importante para escrever códigos mais seguros e escaláveis.

Algumas aplicações:

  • Armazenamento seguro de credenciais de banco de dados
  • Definição de configurações do sistema sem modificar o código
  • Facilidade na mudança de ambiente (desenvolvimento, teste, produção)
  • Uso de chaves de API e tokens de autenticação

Dicas para quem está começando

  • Nunca armazene senhas ou credenciais diretamente no código.
  • Use getenv() ou $_ENV para acessar variáveis de ambiente no PHP.
  • Utilize arquivos .env para armazenar configurações sensíveis.
  • Evite expor variáveis de ambiente em páginas acessíveis publicamente.
  • Em servidores, proteja arquivos .env para evitar acessos indevidos.
Foto de Daniel Moreira
Contribuições de
Daniel Moreira

Especialista em desenvolvimento web com PHP e construção de APIs REST.

Mais sobre o autor
Compartilhe este tutorial: Como configurar variáveis de ambiente no PHP

Compartilhe este tutorial

Continue aprendendo:

Como ativar exibição de erros no PHP

Veja como ativar a exibição de erros no PHP e solucionar problemas no código de maneira eficiente.

Tutorial anterior

Como definir um timezone no PHP

Saiba como configurar o timezone no PHP para garantir que as funções de data e hora sejam exibidas corretamente.

Próximo tutorial