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

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

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

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

4
задан 8 June 2017 в 11:47
1 ответ

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

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";
    }
}

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

3
ответ дан 3 December 2019 в 03:40

Теги

Похожие вопросы