1

シェルの PHP スクリプトから .htaccess で定義された環境変数を出力しようとしています。

私のツリーは次のとおりです:
/.htaccess (ルートフォルダー内)
/test/index.php (「テスト」フォルダー内)

SetEnvを使用して .htaccess に変数を設定します。

SetEnv HTTP_TEST "testing"

私のPHPスクリプト「/test/index.php」は次のとおりです。

#!/usr/bin/php
<?php
echo $_ENV['HTTP_TEST']; // print empty
echo $_SERVER['HTTP_TEST']; // print empty
echo getenv('HTTP_TEST'); // print empty

しかし、ブラウザから PHP スクリプトにアクセスする場合、問題はありません (もちろん #!/usr/bin/php なしで...)。

助けてくれてありがとう。

4

1 に答える 1

1

.htaccess ファイルを解析して SetEnv を見つける小さな PHP スクリプトを作成しました。

#!/usr/bin/php
<?php

// Read all lines from file
$htaccess = file('/.htaccess');

foreach ($htaccess as $line) {
    // Trim left/right spaces, replace all repeated spaces by 1 space
    $line = preg_replace('/[ \t]+/', ' ', trim($line));

    // It's our variable defined with SetEnv
    if (substr($line, 0, 7) === 'SetEnv ') {
        $tmp = explode(' ', substr($line, 7), 2);
        $ENV[$tmp[0]] = str_replace('"', '', $tmp[1]);
    }
}

print_r($ENV);
于 2015-05-11T17:42:10.473 に答える