1

重複の可能性:
$_ENV が空なのはなぜですか?

スクリプトで $_ENV を使用しようとしていますが、空の配列が返されます。コードは次のとおりです。

print_r($_ENV);

そして、ここに私が返すものがあります:

Array ( ) 

スクリプトは Linux サーバーで実行されています (管理者権限はありますが、自分でサーバーをセットアップしていません)。管理者または通常のユーザーとしてログインしているかどうかに関係なく、端末から env と入力すると、約 20 の個別の項目が表示されるため、環境は空ではありません。

過去に $_ENV を問題なく使用しました (ただし、しばらく経ちました)。私は何が欠けていますか?

解決:

php.ini を変更してもうまくいきませんでした。機能したのは次のとおりです。

httpd 構成ファイルまたは仮想ホスト構成ファイル (場合によっては同じファイル) を見つけ、環境変数ごとに (VirtualHost セクション内に) 以下を追加します。

SetEnv MY_ENV_VAR_1 test1
SetEnv MY_ENV_VAR_2 test2

アパッチを再起動します。

PHP スクリプトでは、次を使用します。

getenv('MY_ENV_VAR1')

これらの環境設定にアクセスします。SetEnv はこれらの変数を設定し、Apache に戻して使用できるようにします。既存のシェル環境変数を使用する場合は、次を Apache 構成ファイルまたは仮想ホスト ファイルに追加する必要があります。

PassEnv env_variable [env_variable]....

Apache とスクリプトで使用できるようにします。

4

0 に答える 0