1. ホーム
  2. nginx

[解決済み] Nginxの変数がApacheのSetEnvに似ている?

2023-04-28 13:18:07

質問

Apache で SetEnv を使って、PHP で復旧させるバーチャルホストの変数を設定しています。 $_SERVER[the_variable] .

現在、Perl CatalystとNginxに切り替えていますが、Nginxの"env"指示文が違うようです。うまくいきません。どうすれば実現できるのでしょうか?

誰かがより良いアプローチを提案できるか、私の以前のシステムがNginxで動作しない場合に備えて、背景画像を示します。

  • 私は多くのドメインで同じアプリを使用しています。すべてのデータは、同じ構造を持つ異なるデータベースから来ます。
  • データベース名は、その環境変数で、仮想ホストにハードコードされています。
  • データベース名を知っているので、最初のクエリから、すべてのクエリはその適切なデータベースに移動します。
  • ディレクティブに同じ変数を含めるだけで、同じデータベースを複数のドメインで使用することができます。

どのように解決するのですか?

NGINXはapacheのようにバックエンドプロセスを管理しないので、バックエンドの環境に影響を与えることはできません。新しい $_SERVER PHP 変数を設定するには、NGINX からは新しい fastcgi_param のエントリを追加する必要があります。 どこにでも fastcgi_params または fastcgi.conf .