Назад | Перейти на главную страницу

Как в файле конфигурации nginx определить параметр fastcgi_param, содержащий знак «$»?

Я пытаюсь определить несколько переменных среды для приложения PHP, но одна из этих переменных содержит знак «$». Когда я тестирую файл конфигурации с nginx -t, Я получаю сообщение об ошибке о том, что переменная не существует. Кажется, что текст после "$" интерпретируется как имя переменной, которое, конечно, не определено.

Возможно, я не искал в нужных местах, но я не смог найти информацию о том, как избежать символа «$». Возможно ли это и как это сделать?

Обновление: я попытался заключить значение между одинарными кавычками и двойными кавычками после комментария d3ag0s, но у меня было то же сообщение об ошибке.

Согласно этой странице, невозможно избежать знака $, но они предоставляют обходной путь:

https://openresty.org/download/agentzh-nginx-tutorials-en.html#nginx-variables-escaping-dollar

geo $dollar {
    default "$";
}

server {
    listen 8080;

    location /test {
        echo "This is a dollar sign: $dollar";
    }
}

Хотя это может быть не лучшее решение, я протестировал его, и оно работает.