题 无法在.htaccess文件中设置php_value


我正在尝试在我的Apache2 / PHP服务器上设置NewRelic,并让它报告每个vhost的不同应用程序。为此,php值 newrelic.appname 必须改变。它默认定义为 /etc/php.d/newrelic.ini 但是要按vhost报告执行,需要在该vhost上进行专门设置​​,如下所述: https://newrelic.com/docs/php/per-directory-settings

在我的 /etc/php.d/newrelic.ini 设置:

newrelic.appname="PHP Application;MySite.com;"

在我的vhost中,我有以下配置:

<Directory "/">
    AllowOverride All
    php_value newrelic.appname "MySite.com"
</Directory>

它是我的 .htaccess 我有:

php_value newrelic.appname 'MySite.com'

但看着 phpinfo() 从与...相同的目录中的文件提供 .htaccess 我得到的文件:

 Directive Name     Local/Active Value  Master/Default Value
 -----------------------------------------------------------
 newrelic.appname   PHP Application     PHP Application

通过spawn-fcgi使用FastCGI。

任何其他建议将不胜感激。


5
2018-02-27 19:10




您是将PHP作为Apache模块运行,还是作为CGI / FastCGI应用程序运行? - pdaukintis
糟糕,我打算在帖子中加入 - 我正在使用FastCGI。 - doublesharp
我碰巧在我的大多数网站上都使用WordPress,所以我很喜欢 ini_set('newrelic.appname', 'MySite.com') 在里面 wp-config.php 文件或多或少使这项工作,但我仍然不知道如何使用PHP / FastCGI在配置中设置PHP值。 - doublesharp
.htaccess是一个Apache的东西。当你使用Apache的mod_php时,它会工作,但FastCGI并没有挂钩到Apache。 - ceejayoz


答案:


如果要在使用PHP作为CGI / FastCGI时使用.htaccess配置文件,则可以使用 htscanner PHP模块,它可以使用各种选项(包括php_value)解析现有的和新的.htaccess配置文件。

更新: 答案已过时。请参阅下面的更新答案:

由于PHP 5.3.0 PHP包含支持 配置INI文件 在每个目录上   基础。这些文件仅由CGI / FastCGI SAPI处理。 这个   功能废弃了PECL htscanner扩展。 如果你正在使用   Apache,使用.htaccess文件获得相同的效果。


6
2018-03-01 21:28



甜蜜,谢谢,这正是我想要的。 - doublesharp