Я пытаюсь использовать настраиваемую переменную среды для обнаружения среды в моем приложении PHP. Я установил переменную общесистемную в / etc / environment , перезагрузил и проверил, что она видна через терминал с помощью printenv .
Я также проверил, что это видно при запуске PHP в командной строке:
php -r 'echo getenv("LOCAL_DEVELOPMENT");' //returns 'true' as expected
Но когда я пытаюсь выполнить сценарий веб-страницы, переменная не найдена:
var_dump(getenv("LOCAL_DEVELOPMENT")); //returns 'boolean false' (not expected)
Я использую Ubuntu 12.04 LTS с PHP 5.4 и Apache 2.2.
Почему переменная не видна из веб-скрипта и как я могу это исправить?
Предполагая, что вы используете Apache-сервер, я думаю, что его использование Apache ограничено переменными System Environment .. для обеспечения безопасности.
Вы должны установить переменные env на apache, например SetEnv LOCAL_DEVELOPMENT true
или даже лучше, если SetEnv APPLICATION_ENV development
обычно считается стандартом.