Necesito establecer una variable a un valor predeterminado si aún no está configurada. La siguiente configuración hace el trabajo:
if ($foo ~ "^$") {
set $foo default-value;
}
Pero genera advertencias de tiempo de ejecución:
utilizando la variable "foo" no inicializada
¿Hay alguna manera de probar si una variable se establece sin generar la advertencia y sin desactivarla globalmente con:
uninitialized_variable_warn off;
uninitialized_variable_warnno es necesario configurarlo globalmente, solo puede configurarlo donde necesita usar variables potencialmente no inicializadas. Estoy usando esto para pasar detalles SSL a PHP, que estarán vacíos si se accede a la página sin SSL.
nginx: [emerg] "uninitialized_variable_warn" directive is duplicate in
uninitialized_variable_warncomo parte de un producto php.confimportado solo por ubicaciones que admiten PHP, por lo que definitivamente lo uso solo en esos ámbitos, mientras dejo la advertencia en cualquier otro lugar. Sin uninitialized_variable_warnembargo , no lo he configurado en ningún otro ámbito (dejándolo predeterminado true).
set_if_emptydesde github.com/openresty/set-misc-nginx-module