我们通过 mod_fastcgi + suexec 运行 PHP,似乎以这种方式运行的 PHP 进程看不到通过文件中设置的环境变量SetEnv
。.htaccess
我通过 perl 脚本和 shell 脚本(均通过 运行mod_cgid
)检查了 SetEnv 确实设置了一个变量(即允许这样做AllowOverride
并且mod_env
已加载)。我通过 、 、 进行了检查$_SERVER
,$_ENV
发现getenv()
PHP
$HTTP_ENV_VARS
没有phpinfo()
看到该变量。我还没有尝试找到合适的解决方案,但我会发布一个不错的解决方法。
答案1
对于遇到相同问题的用户,一个不方便但快速的解决方法是将文件SetEnv
中的相关行复制.htaccess
到VirtualHost
相应域的配置块中,然后重新启动 Apache。这样设置的变量似乎对 PHP 可见。