memcachedの設定を修正

電脳備忘録

本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。

この記事は最終更新から3年以上経過しています。

サイトの描写が遅いのでエラーログを確認してみました。PHPがものすごい勢いでエラーをはいています。下記のようなエラーメッセージで埋め尽くされていました。なにこれ怖い。
PHP Warning:  Memcache::set() [memcache.set]: Key cannot be empty in diary_report.php on line 5
いろいろうまくいっていないようです。そこでいろんなサイトを参照して書き直してみた。英語とも格闘しましたよ...。

お約束

取扱注意です。自分向け備忘録ですので参照は自己責任でお願いします。

<?php
  $key  = 'diary';
  $memcache_obj = new Memcache;
  $memcache_obj->connect('127.0.0.1', 11211);
   
  define('ga_email','mailassress@mail.com');
  define('ga_password','password');
  define('ga_profile_id','11111111');
  
  require_once "gapi.class.php";
  
  $ga = new gapi(ga_email,ga_password);
  $ga->requestReportData(ga_profile_id,
  
                          array('pageTitle','pagePath'),
                          array('pageviews','visits'),
                          '-pageviews',
                          $filter='ga:pagePath=~^/diary/',
                          $start_date = date('Y-m-d', strtotime('-30 day')),
                          $end_date = date('Y-m-d', strtotime('-1 day')),
                          $start_index = 1,
                          $max_results=10);
  $results = Array();
  $body = false;
  foreach($ga->getResults() as $result){  
      $body .= 
        '<li><a href="http://www.560days.com'
        .$result->getPagepath().
        '">'
        .$result->getPagetitle().
        '</a>'
        .$result->getPageviews().
        'PV</li>'
      
  
  ;
  }
   
  $content = '<ul>'.
          $body.
      '</ul>';
    
  $memcache_obj->set($key , $content, MEMCACHE_COMPRESSED, 86400);
  echo $memcache_obj->get($key);	
  //echo $content;
  ?>

以降エラーは出なくなりました。表示もできています。ただおっかないのはこれであっているかどうかはわからないということ・・・。いろいろわかったら更新していこう...。

0%