Configuración de variables de entorno en PHP con dotenv
Clase 17 de 23 • Curso de Fundamentos de PHP
Resumen
Mantener tus claves API dentro del código es una práctica insegura que puede exponer datos sensibles si tu proyecto termina público en repositorios como GitHub. Una solución práctica es utilizar variables de entorno que mantienen segura y organizada la información sensible, al tiempo que facilitan la configuración del proyecto.
¿Por qué es inseguro almacenar el API key en el código fuente?
Cuando incluyes claves API directamente en tu código, corres el riesgo de exponer estas claves accidentalmente al subir tu proyecto a plataformas públicas como GitHub. Esto podría permitir acceso no autorizado a tus servicios, causando graves problemas de seguridad.
¿Cómo utilizar variables de entorno con PHP?
Lo primero es crear dos archivos:
- Un archivo
.env.example
, que puedes subir al repositorio como referencia para otros desarrolladores. - Un archivo
.env
, que contendrá tus claves reales y nunca debe subirse al repositorio público.
En el archivo .env.example
coloca una variable ejemplo como:
OPENAI_API_KEY=tu_API_KEY_aqui
Tu archivo .env
real contendrá el valor privado:
OPENAI_API_KEY=tu_clave_real
Asegúrate de añadir .env
al archivo .gitignore
para evitar subirlo accidentalmente.
¿Qué componente necesito para manejar variables de entorno en PHP?
Puedes usar la librería PHP llamada vlucas/phpdotenv
, ampliamente recomendada y documentada para este propósito. Para instalarla ejecuta desde la terminal:
composer require vlucas/phpdotenv
Este comando actualiza tu archivo composer.json
, añadiendo automáticamente esta nueva dependencia.
¿Cómo configurar correctamente el componente PHP dotenv?
Una vez instalada la librería, configura tu archivo PHP principal para cargar estas variables. Necesitas añadir las siguientes líneas adaptándolas a la estructura de tu proyecto:
<?php
require __DIR__ . '/../vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/..');
$dotenv->load();
Estas instrucciones permiten que PHP reconozca las variables guardadas en el archivo .env
.
¿Cómo usar las variables de entorno en PHP?
Ahora, reemplaza la información sensible en tu código empleando variables de entorno de esta manera:
$openAIKey = $_ENV['OPENAI_API_KEY'];
Esto asegura que tu Información confidencial nunca esté expuesta directamente en tu código.
¿Cómo verificar si tu configuración funciona correctamente?
Puedes probarlo creando una variable adicional en tu archivo .env
, por ejemplo:
MENSAJE_PRUEBA=Hola
Luego incluye este código sencillo para verificar:
$mensaje = $_ENV['MENSAJE_PRUEBA'];
echo $mensaje;
Si al ejecutar el script ves Hola, la configuración es correcta y tu aplicación está lista para continuar segura y organizada.
¿Has implementado esta solución en tu propio proyecto? Comparte tu experiencia o dudas en los comentarios.