在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代码。
答案 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
干杯, 亚历