hi,yichun zhang:
一直很喜欢ngx lua,有个问题,请教下你:
网站项目用的是php语言。后台接口由另外一个项目的java接口提供。由于网站访问量比较大,所以,希望把调用java接口的工作,由lua来做。我设想的大致流程就是:
请求---- nginx ---- lua调用api ---返回数据----> 给php, 然后php拿到数据之后,展示html页面。
现在的困惑是:如果把lua请求到的数据,如data,传递给php。我设想的伪代码大致如下:
location get_data{
接下来请求到达php,php中可以获取lua中的变量 //这里我不知道如何处理。
}
目前我知道的一种方式:
location ~ .*\.php {
lua_code_cache off;
set $login_user_info "";
access_by_lua '
ngx.var.login_user_info = get_request(url);
end
';
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param LOGIN_USER_INFO "$login_user_info";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
#做什么用
}
但是,我觉得,这种方式,会对所以的请求对执行lua代码,感觉不够优雅。
因此,不知道是否可以类似
location get_data{
接下来请求到达php,php中可以获取lua中的变量 //这里我不知道如何处理。
}
这种方式。实现lua和php的合作。
期待你的回复,谢谢你。