我创建了自定义PHP会话处理程序,有时我收到PHP警告:
PHP Warning: curl_exec(): A session is active. You cannot change the session module's ini settings at this time in
这似乎是一个随机问题,“curl_exe()”函数不是问题,因为函数总是在发生错误时发生变化。
自定义会话处理程序将会话保存到memcache和OrientDB中,我确信memcache和orientdb在发生错误时没有问题,因为我在警告之前和之后检索/保存数据时没有错误。
我正在使用Debian 6.0.6 stable,2.2.16-6 + squeeze10(prefork)和libapache2-mod-php5 5.3.3-7 + squeeze14。我认为这是一个PHP错误,但我没有在php或debian bug数据库中找到它。有胶水吗?感谢。
P.S。如果你需要会话处理程序PHP代码,我可以将它发布给开源!
答案 0 :(得分:0)
我找到了问题的根源。 如果您正在使用apache prefork和PHP,但是您正在使用一个使用线程的apache模块(在我的情况下是google的mod_spdy),那么您可能会遇到PHP问题。
在httpd.conf中注释掉mod_spdy(或者在你的情况下使用线程的任何其他模块)似乎可以完全解决问题。