fix: PHP sessions → Redis correcto (session.save_path con host real)

php.ini NO expande variables de entorno, estaba hardcodeado 'tcp://redis:6379'.
PHP intentaba conectar al host inexistente 'redis' en cada request →
timeout 10s en session_start() → todos los scripts tardaban 10-13s.

Solución:
- entrypoint.sh reescribe session.save_path con el host/password real al inicio
- php.ini actualizado con placeholder (sobreescrito por entrypoint de todas formas)
This commit is contained in:
Lizandro Guarnizo
2026-03-12 17:13:11 -05:00
parent d6d312f72f
commit 729474b138
2 changed files with 11 additions and 2 deletions
+9
View File
@@ -7,6 +7,15 @@ echo "🚀 Iniciando WhatsApp Bot Manager..."
# Redis es gestionado por Coolify (externo) — no esperar, la app conecta cuando necesita
echo "️ Redis externo (${REDIS_HOST:-no configurado}), omitiendo verificación de conectividad..."
# Configurar session.save_path con host/password real de Redis
# php.ini no expande variables de entorno, por eso se hace aquí
REDIS_SESSION_PATH="tcp://${REDIS_HOST:-127.0.0.1}:${REDIS_PORT:-6379}"
if [ -n "${REDIS_PASSWORD}" ]; then
REDIS_SESSION_PATH="${REDIS_SESSION_PATH}?auth=${REDIS_PASSWORD}"
fi
sed -i "s|session.save_path.*|session.save_path = \"${REDIS_SESSION_PATH}\"|" /usr/local/etc/php/conf.d/custom.ini
echo "✅ PHP sessions → Redis: ${REDIS_HOST:-127.0.0.1}:${REDIS_PORT:-6379}"
# Esperar a que MySQL esté disponible
if [ "${DB_HOST}" = "mysql" ] || [ "${DB_HOST}" = "db" ]; then
echo "⏳ Esperando MySQL local..."