2015-10-30 3 views
1

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

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

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

ответ

2

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

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

SetEnv CI_ENV production

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

+0

nginx пользователь здесь :) – Meletis

+0

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

Смежные вопросы