0
我正在尝试开发一个Apache 2模块,该函数应该拦截某些POST变量,然后在下面建立一个PHP会话,并设置所有相关的会话变量。Apache模块开发:PHP SESSION访问
我考虑过的一个选择是使用cookie库在请求中设置PHPSESSID,然后将所有这些值插入到$ _SESSION关联数组中。
问题是我似乎无法找到PHP的API,并且我怀疑这些值实际上位于Apache服务器本身的底层,目前是没有根据的。
有谁知道这是甚至可能吗?或者,即使我忽略了一个简单的解决方法,可以工作?
我想你需要写一个PHP扩展而不是Apache模块来完成你想要做的事情。如果您在请求的早期挂钩到Apache,PHP尚未被调用,所以没有地方注入会话变量。如果你稍后在请求中挂钩,PHP将已经执行(并且在FastCGI的情况下),你的Apache挂钩很可能不会运行。查看[PHP的核心](http://www.php.net/manual/en/internals2.php)了解开发PHP扩展的信息。 – drew010 2012-08-11 19:46:05
编写一个PHP扩展也意味着要为其他web处理系统(如CGI)编写代码,尽管在我的情况下它并不具有阻碍性。 – ravemir 2012-08-12 18:39:38
我不确定我是否理解,PHP扩展应该不会真正关心使用哪种服务器API来实现它想要的功能。您只需为请求启动添加一个钩子,检查您的发布变量,然后启动会话并在其中注入数据。 – drew010 2012-08-12 18:51:59