【问题标题】:PHP Session Variable Retrieval SlowPHP 会话变量检索慢
【发布时间】:2012-09-02 06:51:46
【问题描述】:

我遇到了一个非常奇怪的问题,我正在尝试通过 ajax 调用获取 PHP 会话变量的值,而几个月来一直有效的方法今天似乎无法快速运行。执行搜索后,我将结果数存储在名为 $_SESSION[adv_search][num_results] 的会话变量中。然后我尝试通过执行 AJAX 调用在页面上检索此会话变量:

//get number of results from last query
num_results = $.ajax({
  url: './ajax/getters/adv_search_num_results.php',
  type: 'POST',
  cache: false,
  async: false
}).responseText;//ajax

adv_search_num_results.php 只包含:

<?php
  session_start();
  echo($_SESSION[adv_search][num_results]);
?>

AJAX 调用仍然有效(相对而言),但现在 chrome 要求我终止页面需要很长时间。我需要使用 async: false 因为我需要 num_results 来处理分页等其他事情。

这曾经运行得非常快,如果我注释掉那个 AJAX 调用并给 num_results 分配一个数字,搜索会很快执行。我不确定是否有人有灵丹妙药,但任何想法都会有所帮助。谢谢。

【问题讨论】:

  • 您是否验证了数据库服务器和/或与它的连接不迟缓?
  • simshaun 我不认为他在这个特定的实例中访问了数据库,他所做的只是访问一个会话变量。
  • 网站的其余部分功能正常,响应时间非常快。
  • 它似乎与锁定的会话文件有关。会话结束后尝试添加 session_write_close()
  • @Darhazer 我添加了 session_write_close(),但它似乎没有任何影响。还有其他想法吗?

标签: php jquery ajax


【解决方案1】:

我想不出为什么会这样,但是这个页面上可能有一些线索(加上一个解决方法)

http://forum.powweb.com/showthread.php?t=77977

【讨论】:

    猜你喜欢
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2012-08-03
    • 2013-05-01
    • 2011-06-09
    • 2015-06-06
    相关资源
    最近更新 更多