PHP + mod_fastcgi + suexec 无法读取 .htaccess 中通过 SetEnv 设置的变量

PHP + mod_fastcgi + suexec 无法读取 .htaccess 中通过 SetEnv 设置的变量

我们通过 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中的相关行复制.htaccessVirtualHost相应域的配置块中,然后重新启动 Apache。这样设置的变量似乎对 PHP 可见。

相关内容