【问题标题】:Getting Error 324 (net::ERR_EMPTY_RESPONSE). when using memcache in kohana出现错误 324 (net::ERR_EMPTY_RESPONSE)。在 kohana 中使用 memcache 时
【发布时间】:2011-09-13 20:11:04
【问题描述】:

当我尝试使用 kohana 使用 memcache 时出现此错误。我所做的只是更改了配置文件中的主机名并使用了$cache = Cache::instance('memcache');

我可以远程登录我的 memcached 服务器,所以问题可能不存在。

有什么帮助吗?

【问题讨论】:

  • 您的 Apache(您正在使用 Apache,对吗?)日志中有什么内容?
  • 是的。在我的 apache 日志中找到了答案。看来我有一个很长的令牌名称。

标签: php memcached kohana


【解决方案1】:

所描述的错误是 Google Chrome 错误。这表明 Kohana 没有响应任何内容,很可能是因为错误/异常处理被抑制了。检查 PHP error_reporting 是否打开(E_ALL 是一个不错的值)。

如果仍然没有输出,可能是 PHP 在执行期间出现了段错误。如果是这样,您应该能够找出您的网络服务器日志中的问题(如果不是系统日志)。

我的最佳猜测是 php-memcache 和/或 memcache 库未正确编译或已损坏。

【讨论】:

    【解决方案2】:

    当使用像 FuelPHP 这样的 PHP 框架时 https://fuelphp.com/forums/topics/view/4256#11344

    问题

    • 在 Google Chrome 中“错误 324 (net::ERR_EMPTY_RESPONSE): 服务器 关闭连接而不发送任何数据。”
    • 没有 PHP 错误,因为 Apache 在将任何内容发送回浏览器之前就死了
    • 在 Apache 日志中,这条无用的消息“错误 [notice] child pid 19647 exit signal Segmentation fault (11)”

    解决方案 仔细检查是否有一个打开的 php 标记(呃!),或检查其他愚蠢的新手语法错误。

    【讨论】:

    • 实际上在我的情况下是内存缓存键的长度(太长)。
    【解决方案3】:

    无法在本地重现此问题,因为我的本地和服务器具有不同的环境。这发生在设置 PDO 之后

    $db = new PDO('mysql:host='.$host.';dbname='.$db_name, $user, $pass, 
      array( PDO::ATTR_PERSISTENT => true));
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
    

    但是在为sudo apt-get install php5-mysqlnd 运行更新之后。问题已解决。因此,如果您不知道问题出在哪里,这可能是您可以检查的事情之一。

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多