php-fpm 访问日志应该包含来自 php 应用程序设置的自定义变量
2019-5-8 14:4:58
收藏:0
阅读:90
评论:1
Pre
当前的设置是使用 Apache+mod_php 进行的。我们能够通过使用 apache_setenv 在代码中设置 userId 和 sessionId 并将其放在 Apache 访问日志中:
"\"%{USER_ID}e\" \"%{SESSION_ID}e\""
这对我们根据访问日志轻松调试信息是必要的。
Feature
考虑以下设置:运行在 php-fpm 上有 nginx 作为反向代理的 php 应用程序。
我想要转移到使用 php-fpm 和 nginx 的容器应用程序。但问题是,我无法使用 $_ENV 将动态变量记录到 nginx 或 php-fpm 日志中。数据存在于 $_SERVER 的转储中,但无法从 php-fpm 或 nginx-access 日志中访问。
Question
- 如果我能够从应用程序中使用环境变量将
fastcgi_param设置在 nginx 中,那么情况就结束了。在 nginx 中使用os.getenvvariable的 lua 应该能做到这一点吗? - 在 php-fpm 访问日志格式中,尽管它们存在于
var_dump($_SERVER)中,但%{userId}e和%{sessionId}e不会被识别。如果我从 nginx 传递带有静态值的fastcgi_param,我就可以在 php-fpm 中访问这样的环境变量。
还有其他选项可以做到这一点吗?目前我正在尝试。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

我的解决方案是使用自定义的 HTTP 头部:
header("UserId: 1"); header("SessionId: session_id");然后在 nginx 访问日志中使用:
log_format main "$upstream_http_userid $upstream_http_sessionid";如果是 Apache 访问日志,则使用如下格式:
LogFormat "%h %l %u %t \"%r\" %>s %O %{UserId}o %{SessionId}o"