Я хочу передать переменную окружения в linux в apache при запуске.
экспорт MYVAR = 5
- Я определяю переменную окружения в командной строке
PassEnv MYVAR
--set apache для импорта переменной в конфигурационный файл apache
перезапуск apachectl
- при перезапуске apache я не получаю сообщение об ошибке. Однако я заметил
что если я не создаю переменную окружения на своем первом шаге, я получаю предупреждающее сообщение, поэтому должен работать здесь
echo $ _SERVER ['MYVAR']
- я пытаюсь получить доступ к переменной окружения в PHP, но она не определена
Я заметил, что если я пытаюсь передать PassEnv переменную окружения, которая уже выходит (ту, которую я сам не создал), она работает нормально. Директива SetEnv также работает нормально.
Я бы очень хотел передать переменную окружения в apache на лету, не записывая ее в файл. Помощь высоко ценится.
Я использую CentOS, PHP5 и Apache2.
Спасибо.
обновление
Кажется, переменная среды передается, если я вызываю запуск apache напрямую через httpd и не использую apachectl, который является сценарием оболочки. Я бы подумал, что «экспорт» будет экспортировать переменную в сценарий оболочки нет? Я не гуру Linux, поэтому извините за недостаток знаний.