1

我创建了自定义 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 错误数据库中找到它。有胶水吗?谢谢。

PS如果您需要会话处理程序PHP代码,我可以将它开源发布!

4

1 回答 1

0

我找到了问题的根源。如果您在 PHP 中使用 apache prefork,但您使用的是一个使用线程的 apache 模块(在我的例子中是 google 的 mod_spdy),您可能会遇到 PHP 问题。

在 httpd.conf 中注释掉 mod_spdy (或在您的情况下使用线程的任何其他模块)似乎可以完全解决问题。

于 2012-12-02T13:03:17.327 回答