sql >> データベース >  >> RDS >> PostgreSQL

すでに定義されている環境変数にputenv()が必要なのはなぜですか?

    理由は次のとおりです:

    getenv()[PHP]から取得する環境値 (php関数)は、getenv()[C]でクエリする環境とは異なります。 (C lib関数)。 getenv()[PHP]とは 登録されたsapiで一致を確認しています( http ://lxr.php.net/xref/PHP_5_6/ext/standard/basic_functions.c#3999 )。

    apache2 sapiは、独自の環境コンテキストを介してこれを実行します( http: //lxr.php.net/xref/PHP_5_6/sapi/apache2handler/sapi_apache2.c#253 )、apacheプロセス自体からの標準OS環境ではありません。

    一致するものが見つからない場合にのみ、実際のプロセスの環境でチェックします。これがgetenv()[PHP]の理由です 値を返しますが、getenv()[C] しません。

    さて、「ハック」も単純なものです:putenv()[PHP] 、指定されたキー/値を実行中のプロセスの環境に格納します。そのため、後でgetenv()[c]で見つけることができます。 。




    1. Javaキャッシュを更新するPostgresトリガー

    2. jqueryajaxはfirebugブレークポイントなしでは機能しません

    3. SSISで、処理する必要があるソースから返された行数を取得するにはどうすればよいですか。

    4. 同時Celeryタスク間でのOracleデータベース接続の共有