Я пытаюсь запросить переменные среды, что я установил мой.bashrc файл (я запускаю Ubuntu 14.04) в скриптах PHP, которые выполняются под сервером Apache.
Когда я обращаюсь к getenv ('MY_VAR_NAME') или $ _ENV ['MY_VAR_NAME'] при доступе к странице, кажется, что эти переменные отсутствуют.
Я предполагаю, что когда сценарий был выполнен, пользователь является www-данными, поэтому "MY_VAR_NAME" недоступен.
Существуют ли какие-либо процедуры/рекомендации для таких проблем?
благодаря
Я предполагаю, что когда сценарий был выполнен, пользователь является www-данными, поэтому "MY_VAR_NAME" недоступен.
Ваша догадка правильная. :)
Существуют ли какие-либо процедуры/рекомендации для таких проблем?
То, что большинство программистов сделает, это иметь файл конфигурации, содержащий эти переменные. Вы сохранили бы конфигурационный файл в некоторой области, где могли бы получить скрипты PHP - будь то в домашнем каталоге где-нибудь, в /etc. или в каком-либо другом месте, например, в корневом каталоге веб-сайта или рядом с ним.
Различные структуры используют разные подходы к формату файлов конфигурации - некоторые из них - это PHP-скрипты, некоторые из них - файлы YAML, некоторые из них - файлы INI в формате windows/DOS, некоторые - XML, некоторые JSON и т.д.
Лично мне нравится идея сделать это:
Однако какой бы метод вы ни использовали, зависит от потребностей вашего приложения.
SetEnv MY_VAR_NAME value_goes_here
в файле .htaccess или .conf.