我遇到了一些麻烦,弄清楚如何在FastCGI下处理一些在mod_php下很容易工作的东西。 在我使用SetEnv将选项从我的VirtualHost指令传递给我的PHP应用程序之前。 例如:
SetEnv MYAPP_LOGGING_ROOT "/usr/local/myapp/logs"
我能够从$_SERVER['MYAPP_LOGGING_ROOT']访问这个值,这是一个相当方便的方法来做到这一点。 但是,这个值在FastCGI环境中没有被传递给我的PHP应用程序。
我尝试了以下,但它似乎并没有一直传递给我的PHP应用程序:
FcgidInitialEnv MYAPP_LOGGING_ROOT "/usr/local/myapp/logs"
我是否缺less一些简单的东西,或者是否需要做更复杂的事情?
SetEnv使用mod-fcgid。 我的configuration:
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all FCGIWrapper /usr/lib/cgi-bin/php5 AddHandler fcgid-script .php Options ExecCGI Indexes SetEnv MYAPP_LOGGING_ROOT "/usr/local/myapp/logs" </Directory>
foo.php:
<?php var_dump($_SERVER["MYAPP_LOGGING_ROOT"]); ?>
testing:
curl localhost/foo.php string(21) "/usr/local/myapp/logs"