PHPアプリケーションに対していくつかの環境変数を定義しようとしていますが、これらの変数の1つに「$」記号が含まれています。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";
}
}
それは最善の解決策ではないかもしれませんが、私はそれをテストし、それが機能します。