У меня есть переменные окружения, установленные в /etc/bash.bashrc и в профиле. Они отлично работают в сценариях оболочки, но не php.
Я пытался:
$VAR = getenv('VAR');
$VAR = $_ENV["VAR"];
Если я запускаю скрипт php из командной строки, они выводятся нормально.
Но если я запускаю его из Интернета, они остаются пустыми.
Я провел небольшое исследование и отредактировал php.ini, чтобы получить букву «E» в порядке переменных. Также прокомментировал следующую строку о request_order (поскольку он говорит, что если оставить пустым, по умолчанию вернется значение, установленное в variable_order). Я перезапустил, и это не сработало.
Решено (частично): я добавил «SetEnv VAR / dir / dir / dir» в файл / etc / apache2 / sites-available / default. Тем не менее, у меня все еще есть проблема объединения $ VAR и остальной части dir … это не работает. Например:
$VAR = "/var/www";
$new = "$VAR/dir2/file.txt";
Когда я иду, чтобы открыть файл $ new, php-скрипт просто зависает (при запуске из веб-браузера). Однако, если я запускаю php-скрипт из командной строки, черт побери работает! Зона сумерек.
Задача ещё не решена.
Других решений пока нет …