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:
@@ -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..."
|
||||
|
||||
+2
-2
@@ -26,9 +26,9 @@ disable_functions =
|
||||
[curl]
|
||||
curl.cainfo = /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
; Session
|
||||
; Session — usar variables de entorno para Redis (Coolify las inyecta)
|
||||
session.save_handler = redis
|
||||
session.save_path = "tcp://redis:6379"
|
||||
session.save_path = "tcp://${REDIS_HOST}:${REDIS_PORT}?auth=${REDIS_PASSWORD}"
|
||||
session.gc_maxlifetime = 3600
|
||||
session.cookie_httponly = 1
|
||||
session.use_strict_mode = 1
|
||||
|
||||
Reference in New Issue
Block a user