我最近将生产系统上的网络服务器环境更改为 Apache2.4/mod_fcgid 2.3.9。在重新启动 Apache 时,我意识到我的依赖于 PHP 的脚本getenv()
被破坏了。进一步检查,我可以检索 Windows PATH,getenv("PATH")
但不能检索我的应用程序安装设置的其他几个变量,甚至是其他一些变量(例如PSModulePath
)。
使用phpinfo()
,当我将 PHP 作为 apache 模块 ( ) 运行时,我无法看到这些 Windows 环境变量mod_php
。
我已经httpd.conf
在 Serverfault ( https://serverfault.com/questions/675736/apache-2-4-with-mod-fcgid-getenv-not-working-in-php ) 中列出了我的其他详细信息,其中详细这个问题的版本尚未得到解答。
基本上,是否有一个根本原因getenv()
,为什么 php 在运行时mod_fcgid
应该只检索某些变量(我猜可能是那些最初随操作系统安装的变量),而忽略其他应用程序随后设置的那些变量?
我已经搜索谷歌近 48 小时,但没有发现任何有形的东西。任何人都可以请善意地提供见解。
谢谢你。