Установка переменных среды для доступа в PHP

74

У меня есть среда Linux, и у меня есть веб-приложение PHP, которое условно работает на основе переменных среды, используя getenv в PHP. Мне нужно знать, как должны быть установлены эти переменные среды для правильной работы приложения. Я не уверен, как установить это на Apache.

Кроме того, мне нужно иметь возможность настраивать отдельные переменные среды для каждого домена отдельно.

Прошу совета относительно того, как я могу это достичь.

Теги:
environment-variables

3 ответа

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

Что-то по строкам:

<VirtualHost hostname:80>
   ...
   SetEnv VARIABLE_NAME variable_value
   ...
</VirtualHost>
  • 2
    не было в моем массиве $ _ENV, для получения значения см. stackoverflow.com/questions/2378871/…
  • 0
    Большое спасибо!
Показать ещё 2 комментария
26

Вы также можете сделать это в файле .htaccess, предположив, что они включены на веб-сайте.

SetEnv KOHANA_ENV production

Было бы все, что вам нужно добавить в .htaccess, чтобы добавить переменную окружения

  • 0
    отличается ли это от использования файла .env, например, как это делает laravel? Делает ли это что-либо менее безопасным? Я спрашиваю об этом, потому что я создаю одну и ту же структуру бэкэнда с несколькими фреймворками (laravel, express, django и т. Д.), И некоторые разработчики этих других языков говорят, что «не подходит для использования .env и что« серверная конфигурация »должна быть использовать вместо этого, или делать это через командную строку, стиль heroku
3

Невероятно, но на httpd 2.2 на centos 6.4 это работает.

Экспортировать env vars в /etc/sysconfig/httpd

export mydocroot=/var/www/html

Тогда просто сделайте это...

<VirtualHost *:80>
  DocumentRoot ${mydocroot}
</VirtualHost>

Тогда, наконец,...

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