2016-01-21 79 views
0

我正在使用Twitch API来检查用户是在线还是离线。代码工作的很好,但它会减慢网站的加载过程。它可以从5-10秒开始加载网站。我怎样才能减少加载时间?PHP Twitch API慢

我应该使用cookies,会话吗?或者如何?

public function twitchOnline($twitchname){ 
      $curl = curl_init(); 
      curl_setopt_array($curl, array(
       CURLOPT_RETURNTRANSFER => 1, 
       CURLOPT_URL => 'https://api.twitch.tv/kraken/streams/'.$twitchname 
      )); 

      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
      $response = curl_exec($curl); 
      $checkkey = "language" ; 
      $position = strpos($response,$checkkey); 

      curl_close($curl); 

      if ($position === false) { 

      }else{ 
       if($twitchname != null){ 
        echo "streamOnline"; 
       } 
      } 
     } 
+0

只是一个猜测。但是您尝试访问https网址并停用了SSL。 'curl_setopt($ curl,CURLOPT_SSL_VERIFYPEER,false);'尝试将其打开。 –

+0

ssl未停用。同行验证是。这是一件坏事,但它不会禁用ssl ... – PeeHaa

回答

0

像这样的API调用并不意味着每一次访问页面。您可以在服务器上使用cron,每2分钟检查一次流送器的状态,将流式传输器状态存储在数据库中,并且每次访问页面时只需从数据库中检索该状态。

+0

但是第一次访问页面会很慢,对不对? – i5dogdgg

+0

cron是一个在后台执行的进程。每当用户访问页面时都不会执行。所以不,第一次访问页面不会变慢。 cron在特定时间执行。 https://en.wikipedia.org/wiki/Cron – Rein

+0

如何为这段代码激活这个CRON? – i5dogdgg