久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      phpcms phpsso不能同步退出怎么辦

      phpcms phpsso不能同步退出怎么辦

      phpcms不能同步退出怎么辦?phpcmsv9 phpsso無法同步退出 ?

      phpcmsv9自帶了一個phpsso_server用于多站點同步登錄,還可以整合ucenter。為了不改動太多的代碼,今天整合ECSHOP和PHPCMS的時候還是用了這個phpsso。

      ECSHOP很方便,簡單配置了一下就可以和ucenter通信了。這個phpsso搞了半天沒有成功和ucenter通信。經(jīng)過幾個小時的琢磨,最終還是成功讓他們通信了。

      注冊,登錄,都可以同步,唯獨在phpcms中退出登錄時ECSHOP沒有退出,反之確可以。

      問題出現(xiàn)的原因:

      首頁看到了PHPCMS的登出的代碼里面有一句同步登出的語句:

      $synlogoutstr = $this->client->ps_member_synlogout();

      這個同步登出的代碼是這樣的

      /**   * 同步退出   * @param string $uid   * @return string javascript用戶同步退出js   */   public function ps_member_synlogout() {       return $this->_ps_send("synlogout', array());   }

      注意這里_ps_send的第二個參數(shù)是一個空的數(shù)組

      再看到phpsso_server中phpsso類的構(gòu)造函數(shù):

      if(isset($_POST["data'])) {       parse_str(sys_auth($_POST['data'], 'DECODE', $this->applist[$this->appid]['authkey']), $this->data);                      if(emptyempty($this->data) || !is_array($this->data)) {           exit('0');       }   } else {       exit('0');   }

      這里對$this->data有一個判斷,如果empty返回true就直接返回0不會再執(zhí)行下面的同步退出代碼了。而上面一步可以看到調(diào)用同步登出時傳入的data參數(shù)恰恰就是array(),empty當(dāng)然會返回true。于是調(diào)用同步退出就在這里終止。

      問題的解決辦法:

      知道了原因要想解決就很容易了,主要有兩種。

      保險一點的方法是到ps_member_synlogout里面給那個空的數(shù)組隨便增加一個元素。

      第二種就是去掉empty($this->data)這個判斷。

      PHP中文網(wǎng),大量的免費PHPCMS教程,歡迎在線學(xué)習(xí)!

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號