Невозможно получить доступ к переменным окружения Ubuntu из PHP

1

Я создаю веб-сайт codeigniter, и мне нужно переключать конфигурации между производством и разработкой. По умолчанию Codeigniter ищет var CI_ENV в PHP $_SERVER superglobal. Однако, когда я пытаюсь установить свой собственный с $ CI_ENV=production $ export CI_ENV на моем производственном сервере.

Когда я пытаюсь получить к нему доступ из $_ENV, $_SERVER или getenv() это не так.

Любые идеи почему?

Теги:
codeigniter

1 ответ

2
Лучший ответ

Afaik, Codeigniter ищет переменные Apache ENV, а не системные переменные.

В файле vhosts.conf или.htaccess добавьте следующее:

SetEnv CI_ENV production

Если вы добавите это в свой файл vhosts.conf, вам нужно будет перезапустить Apache.

  • 0
    Пользователь nginx здесь :)
  • 0
    Ах, извините, nginx не упоминается в вашем посте, поэтому я предположил, что это Apache. Nginx на самом деле не обрабатывает переменные ENV по умолчанию, но есть некоторые обходные пути: nginx.org/en/docs/ngx_core_module.html#env и stackoverflow.com/a/8331663/5505288 могут помочь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню