【问题标题】:PHP Warning: A session is active. You cannot change the session module's ini settings at this time in /../PHP 警告:会话处于活动状态。此时您无法在 /../ 中更改会话模块的 ini 设置
【发布时间】:2012-11-19 05:48:53
【问题描述】:

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

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

【问题讨论】:

  • 我想我找到了问题所在。我正在使用带有多线程模块的 apache prefork(谷歌的 mod_spdy)。它应该有问题。一旦注释掉并重新启动 apache,PHP 错误就完全消失了……

标签: php apache session memcached orientdb


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 1970-01-01
    • 2020-04-26
    • 2015-12-25
    • 2018-05-21
    • 1970-01-01
    • 2020-07-14
    • 2021-10-21
    • 1970-01-01
    相关资源
    最近更新 更多