我正在尝试为 PHP 应用程序定义一些环境变量,但其中一个变量包含“$”符号。当我使用 测试配置文件时nginx -t
,我收到一条错误消息,告诉我变量不存在。它似乎将“$”后面的文本解释为变量名,当然这是没有定义的。
也许我搜索的地方不对,但我找不到有关如何转义“$”字符的信息。这可能吗?该怎么做?
更新:我尝试按照 d3ag0s 的评论将值括在单引号和双引号之间,但收到了相同的错误消息。
答案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";
}
}
虽然它可能不是最好的解决方案,但我已经测试过并且有效。