使用php为apache日志设置REMOTE_USER

时间:2010-06-16 03:42:16

标签: php apache

在mod_perl中,我可以执行以下操作:

$r->user("username");

然后用户名将显示在日志的用户名部分。

有没有办法在PHP中执行此操作?无需修改apache?

编辑:到目前为止,我已尝试过两种方法:

$_SERVER['REMOTE_USER'] = "username";
$_SERVER['PHP_AUTH_USER'] = "username";
apache_setenv('REMOTE_USER', "username")

没有运气

EDIT2: Apache日志的格式为:

ipAddress REMOTE_USER IDENT日期时间......等

我正在尝试设置REMOTE_USER而不使用apache的mod_auth,而是使用php代码。

3 个答案:

答案 0 :(得分:1)

这似乎是一个可能的选择:apache_setenv()

答案 1 :(得分:1)

诀窍是使用apache_setenv()以及更改log_format以包含%{REMOTE_USER} e

因此,您基本上将远程用户作为环境变量传递,并在log_format中获取该值。据我所知,没有办法覆盖'原始'变量。

答案 2 :(得分:0)

我想你可以通过设置所需的超全局来简单地覆盖/提供变量,就像任何其他变量一样。然而,尽管如此,PHP文档和您所说的变量的快速峰值未列出:

http://www.php.net/manual/en/reserved.variables.server.php

干杯, 亚历