Chinaunix

标题: 关于FastCGI环境变量的一个疑问 [打印本页]

作者: HazeC    时间: 2016-06-27 10:51
标题: 关于FastCGI环境变量的一个疑问
因为FastCGI的程序是用C写的 姑且在C板面发帖了。
问题是这样:
在FastCGI提供的demo里面,有个是遍历环境变量的。
首先extern char **environ;
然后变量该指针
for ( ; *envp != NULL; envp++) {
                printf("%s\n", *envp);
}

接着 char **initialEnv = environ;
遍历该指针
for ( ; *initialEnv!= NULL; initialEnv++) {
                printf("%s\n", *initialEnv);
}


疑问来了,为啥两个遍历得到的环境变量的内容不一致呢?

作者: HazeC    时间: 2016-06-27 11:14
刚刚测了下
直接遍历extern char **environ;这个指针获取到的内容是在nginx.conf配置里面 配置的fastcgi_params 配置文件里面的内容
而直接遍历char **initialEnv = environ; 获取到的内容是该可执行文件所在的环境的内容。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2