Я пытаюсь напечатать переменную окружения, определенную в .htaccess, из скрипта PHP в оболочке.
Мое дерево это:
/ .htaccess (в корневой папке)
/test/index.php (в папке «test»)
Я установил свою переменную в .htaccess с помощью SetEnv:
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 …)
Спасибо за любую помощь.
Я создал небольшой скрипт PHP, который анализирует файл .htaccess, чтобы найти SetEnv
#!/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);
Других решений пока нет …