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