У меня есть CGI, который запускается Apache, оба работают как SYSTEM.
CGI полагается на установку переменных окружения WINDIR и TEMPLATES. Он без проблем получает значение WINDIR, но getenv ("TEMPLATES") всегда возвращает NULL.
TEMPLATES - системная переменная.
Другой пост Служба Win, работающая под учетной записью LocalService, не может получить доступ к переменным среды предложила перезагрузку, я пробовал это безрезультатно, и чтобы убедиться, что HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment \ имеет необходимую переменную среды, это так.
Спасибо.
Исправлено это путем добавления директивы PassEnv в контекст моего каталога:
PassEnv TEMPLATES
Документация здесь http://httpd.apache.org/docs/2.2/mod/mod_env.html#passenv