Movable Type 備忘録

 すべてのブログのアクセスランキングを表示する(jquery.pagerank.js)

  • Mar162009
  • Vote:
    http://bizcaz.com/archives/2009/03/16-013119.php
  • Categories: jQuery
  • Tags: ,
  • Social Bookmark

こんばんわ^^

機能のご要望がありまして、前回ご紹介した、ローテーションするアクセスランキングにすべてのブログのアクセスランキングを表示できるよう対応しました。

どんな機能かというと、通常 1 つのブログに 1 つのトラッキングコードと言われる以下のようなログ収集コードを埋め込んで、任意の場所にランキング表示・・・というのがスタンダードな使い方になります。

通常のトラッキングコード

  1. <div id="pagerank_viewer">
  2.     <script type="text/javascript">
  3.         $('#pagerank_viewer').PageRank({
  4.             blog_id :1,
  5.             blog_url :'http://blog.url/',
  6.         });
  7.     </script>
  8. </div>

上記はブログ ID = 1 のログ収集を行います・・・という指示を出してまして、そうすると log/ フォルダ内に 01/ というフォルダが新規作成されます。
その中にログ情報などが作成される仕組みになってます。

なので、ブログ ID = 2 とすれば、log/ フォルダ内に 02/ というフォルダが同様に作成されて複数のブログでも混在することなくアクセスログを収集するようにしてます。

http://bizcaz.com/
|
+-- js/
|  +-- pagerank/
|     +-- log/
|        +-- 01/ ★ブログ ID=1 用ログフォルダ
|        |  +-- data01 ★ローテーションファイル(7 日分)
|        |  +-- data02
|        |  +-- data03
|        |  +-- data04
|        |  +-- data05
|        |  +-- data06
|        |  +-- data07
|        |  +-- stat
|        |
|        +-- 02/ ★ブログ ID=2 用ログフォルダ
|           +-- data01 ★ローテーションファイル(7 日分)
|           +-- data02
|           +-- data03
|           +-- data04
|           +-- data05
|           +-- data06
|           +-- data07
|           +-- stat

今回は上記のような複数ブログを合わせたランキング表示できるようにしました。

使い方

基本的な使い方は今までと同様なので、以下のページの使い方を参考にしてください。

ここでは以下のようなケースを例にして全ブログのアクセスランキング表示の仕方を説明します。

http://bizcaz.com/ ★メインブログ
|
+-- book/ ★個別ブログ①
|
+-- cook/ ★個別ブログ②
|
+-- sock/ ★個別ブログ③
|
+-- tick/ ★個別ブログ④
|
+-- js/
+-- pagerank/
+-- log/
|  +-- data00 ★cron で作成するログ
|
|  +-- 01/ ★個別ブログ①用ログフォルダ
|    +-- data01~07
|
|  +-- 02/ ★個別ブログ②用ログフォルダ
|    +-- data01~07
|
|  +-- 03/ ★個別ブログ③用ログフォルダ
|    +-- data01~07
|
|  +-- 04/ ★個別ブログ④用ログフォルダ
|    +-- data01~07
|
+-- jquery.pagerank.js
+-- rank_post.php
+-- rank_config.php
+-- rank_deny.php
  • メインブログ
    個別ブログ①~④のトータルなアクセスランキング表示

  • 個別ブログ①~④
    各個別ブログ内のアクセスランキング表示

  1. cron を利用して個別ブログの各ログデータを 1 つのファイルにまとめる。

    cron を利用して定周期に各個別ブログのログを 1 つのファイル( log/data00 )にまとめておきます。
    cron で実行するコマンドは以下の通りです。

    cd /home/xxx/js/pagerank/log
    find ./[0-9]* -name "data*" -exec cat "{}" \; > data00
    

    上記コマンドは、log/ フォルダに移動して、全ブログのログフォルダ内にある data01 ~ data07 の内容を log/data00 ファイルに結合する・・・ということをやってます。
    3 時間おきくらいで実行させておけばいいんじゃないでしょうか。ここら辺はお好みで ( ̄∇ ̄)b

  2. メインブログに全ブログ用のアクセスランキング表示

    1. <div id="grand_pagerank">
    2. <script type="text/javascript">
    3. $('#grand_pagerank').PageRank({
    4.     blog_id:0,
    5.     blog_url:'http://bizcaz.com/',
    6.     script_url:'http://bizcaz.com/js/pagerank/',
    7.     include_all_logs:1
    8. });
    9. </script>
    10. </div>

    赤字の部分を必ず指定してください。そうしないと全ブログのランキング表示されません。

  3. 個別ブログ①~④のアクセスランキング表示

    1. <div id="pagerank_viewer">
    2. <script type="text/javascript">
    3. $('#pagerank_viewer').PageRank({
    4.     blog_id:1,
    5.     blog_url:'http://bizcaz.com/book/',
    6.     script_url:'http://bizcaz.com/js/pagerank/'
    7. });
    8. </script>
    9. </div>

    ここは今まで通りのコードを使用してください。

以上です。
これで個別ブログ①~④は通常通り個別のランキングが表示され、メインブログだけは個別ブログ①~④を合わせたランキング表示されるようになります。

 Trackback Pings(0)

No trackbacks found.

 Comments(36)

#1: Posted by @ March 16, 2009 [REPLY]
user-pic

bzbellさん、早速の対応をありがとうございます。
/book/
/cook/・・・がいいですねにこっ!

・・・が、私の側でどうしてもプラグイン版の方は上手く動作しません。
index.htmlをのぞくと枠だけの表示です。

初歩的な質問なのですが、ここでいうプラグイン版というのは、mtの***.plといったファイルで動作するものとはまた別で、pagerankディレクトリをアップロードする事だけで問題はないということでよいでしょうか?
また、サイトをphp化していることとは無関係でよいでしょうか?

最初の「Ajaxで~その4」ではうまくゆくのに、こちらでは表示できない差が自分でつかみかねているところです。キャハハ

もし見ていただけるなら、今、
http://***.net/ のメインブログ(サイトトップ)にgrand_pagerankを仕込み、
階下の/prelude/ の個別ブログに通常のpagerank_viewerを仕込んでいます。

cronを使う前段階の、個別ブログでも表示できていない状況でつまづいています。

#2: Posted by Author Profile Page bzbellからへの返信 @ March 16, 2009 [REPLY]
user-pic

>>1 羊 さん

こんばんわ^^

> ここでいうプラグイン版というのは、mtの***.plといったファイルで動作するものとはまた別で、pagerankディレクトリをアップロードする事だけで問題はないということでよいでしょうか?

はい。その認識で正しいです。
ここでいうプラグインというのは、jQuery のプラグイン・・・を意味します。

> また、サイトをphp化していることとは無関係でよいでしょうか?

いえ、PHP スクリプトが実行可能なサーバ環境であればブログの PHP 化には影響しません。

  1. jquery.pagerank.js( 旧 )と jquery.pagerank( 新 )が重複してロードされてます。
    以前のバージョンのスクリプトはロードしないよう HTML ヘッダから削除してください。
  2. jquery.pagerank( 新 )の中を確認すると、デフォルトで include_all_logs に '1' がセットされてます。必ずデフォルトは '0' にしてください。そうしないと個別ブログでも全ブログのランキング表示がされてしまいます。

ロギングのスクリプト( PHP )は応答してますので、上記を修正すれば正しく表示されるように思われまする。
ご確認くださいぺこり

#3: Posted by Author Profile Page bzbellからへの返信 @ March 16, 2009 [REPLY]
user-pic

>>1 羊 さん

こんばんわ^^

すいません、jquery.pagerank.js 内に一点不具合がありましたテレテレ
ShowLoader というものがあるのですが、この記述がわたしのサイト用のコードのまま配布しちゃってましたので修正( ver2.12 )しました。
改めてダウンロードして頂き、>>2 の修正をして頂ければ OK かと思いますワクワク

#4: Posted by からbzbellへの返信 @ March 17, 2009 [REPLY]
user-pic

>>3 bzbell さん
色々とお手数をおかけしています。
こちらもがんばって何とかしたいと切実です・・・あせあせ
現在の状況は

http://***.net/ ★メインブログ(ブログID:21)
|
+-- prelude/ ★個別ブログ① (ブログID:18)
|
+-- js/
+--jquery/ pagerank/
+-- jquery.pagerank.js
+-- rank_post.php
+-- rank_config.php
+-- rank_deny.php
+-- log/
+-- 21/ ★メインブログ用ログフォルダ
といったところです。

js/jquery/ pagerank/は、トップのメインブログ直下のみの設置でいいはず(個別ブログには不要)ですよね。
今、logフォルダの中にメインブログIDの21フォルダは出来上がっていますが、(中身は空っぽ=まだcron実行していないから?)個別ブログIDの18フォルダは出来上がっていません。

あと、メインブログに仕込むgrand_pagerank中の
blog_id:0の「0」はあくまで、全てのブログを対象にするという意味の「0」ですよね。
個別ブログに仕込むpagerank_viewerの方には「18」を指定しています。

jquery.pagerank.jsはver2.12 に差し替えました。
(jsファイル内記述の先頭が2.11になっているのは単に記述がそのままなだけですよね)

今日はこれで失礼しますが、また頑張ってみます。キャハハ

#5: Posted by Author Profile Page bzbellからへの返信 @ March 17, 2009 [REPLY]
user-pic

>>4 羊 さん

> js/jquery/ pagerank/は、トップのメインブログ直下のみの設置でいいはず(個別ブログには不要)ですよね。

いえ、個別ブログの方にも従来通りの設置は必要です。
※include_all_logs オプションが不要なだけです。

> blog_id:0の「0」はあくまで、全てのブログを対象にするという意味の「0」ですよね。
> 個別ブログに仕込むpagerank_viewerの方には「18」を指定しています。

はい。その通りです。「0」というブログ ID は存在しないのでにこっ!
個別ブログと重複しないようにして頂ければ問題ありません。
もちろん個別ブログにおいても他ブログと重複しないようにしてくださいね。
そうしないと、同じログに書き込まれてしまい、個別のランキング表示ができなくなります。

> jsファイル内記述の先頭が2.11になっているのは単に記述がそのままなだけですよね

あちゃキャハハ修正しておきます。

何度もすいませんが、また ShowLoader の不具合を修正しました。( Ver2.13 )
先ほど 羊 さんのサイトをデバッグしたところ、ShowLoader 実行でスクリプトがエラーしたのでよく見たら、またわたしのサイト用のコードになってましたガーン
重ねがさねご迷惑をおかけましたぺこり

#6: Posted by からbzbellへの返信 @ March 17, 2009 [REPLY]
user-pic

>>5 bzbell さん、おはようございます。
いつもいつも本当にご親切にありがとうございます。
昨夜の夢の中ではできていたので、できそうな気がしてきました。あせあせ
帰ってからまたトライしてみます~バイバイ

#7: Posted by Author Profile Page bzbellからへの返信 @ March 17, 2009 [REPLY]
user-pic

>>6 羊 さん

こんにちわ^^

> 昨夜の夢の中ではできていたので、できそうな気がしてきました。

はい。そう願いたいですキャハハ
後ほどその結果をご連絡くださいもじもじ

#8: Posted by からbzbellへの返信 @ March 17, 2009 [REPLY]
user-pic

>>7 bzbell さん
連日のおつきあい、ありがとうございます。ぺこり
質問のお答えで、仕組みが理解できてきました。
以前のプラグイン版前のタイプは各ブログにpagerankディレクトリを設置するわけでないけれど、その代わり個別ブログのランキング+全ブログのランキングを同時に併存はできない。
今回のプラグイン版は各ブログにそれぞれpagerankディレクトリを設置して個別のランキングを表示させながら全ブログのランキングも別に集計する処理をとっている
・・・というところでしょうか。

・・・ですが、メインブログ(ID21)と個別ブログ(ID18)のそれぞれにpagerankディレクトリを設置してぐるぐる画像が表示されるところまではきたのですが、ランキングの表示がまだ出ません。あせあせ
トップの方はcronを実行してないから当然かもしれないのですが、個別の方もまだ出ません(それでも以前はぐるぐるマークも出なかったよりはあと少しのはずですが・・・)のほほん

うーん、あと何が足りないのか、試行錯誤してみますが、ひとまずご報告まで。

#9: Posted by Author Profile Page bzbellからへの返信 @ March 17, 2009 [REPLY]
user-pic

>>8 羊 さん

こんばんわ^^

> トップの方はcronを実行してないから当然かもしれないのですが、個別の方もまだ出ません

データがなくっても何らかの応答があるはずなので、まだ正しく動作しきってないようです。

別件ですが、JSON データ転送の際に HEADER 情報を意図的に送信するようにしてたのですが、サーバによっては!? エラーしちゃうようなので削除したバージョン( ver2.14 )を UP しました。

もしかすると、羊 さんとこも同じ現象かもしれません。
あと、羊さんの個別ブログでは prototype と jQuery を混在して使ってますねあせあせ
そうすると競合がおきてしまうのでコンフリクト対策しておきました。
ご確認くださいぺこり

#10: Posted by からbzbellへの返信 @ March 17, 2009 [REPLY]
user-pic

>>9 bzbell さん
本当にbzbell さんの手取り足取りがないと進まない状態で申し訳ありません。

>>あと、羊さんの個別ブログでは prototype と jQuery を混在して使ってますね
そうですね。やたらと埋め込んできていますあせあせ
あと、mt.jsも入っています・・・。
これらが競合しているようなら、いったん切ってみて試してみます。また明日以降になりますが・・・・。

でも、おかげでひとまず個別ブログに当該ブログトップページ(indexページ)のアクセス数だけは表示されるようになりました
(今はあえてトップページをカウントして様子を見てますので)
が、各エントリ(ブログ記事)ページへのアクセスがカウントされていない?のか表示されてきません。

毎晩、すみません。とりあえずまた続けてがんばってみます。しくしく


#11: Posted by Author Profile Page bzbellからへの返信 @ March 17, 2009 [REPLY]
user-pic

>>10 羊 さん

はい。がんばってください。
できる限りのことはサポートしますのでやあ!

個別ブログの方のトラッキングコードを以下のように、以前のコードを新しいコードに置き換えていただければたぶん大丈夫ではないかとあせあせ
▼以前のトラッキングコード▼
<div id="pagerank_viewer">
<script type="text/javascript">pagerank_view();</script>
</div>
▼新しいトラッキングコード▼
<div id="pagerank_viewer">
<script type="text/javascript">
$('#pagerank_viewer').PageRank({
blog_id:個別ブログのブログ ID,
blog_url:'個別ブログの URL'
});
</script>
</div>
#12: Posted by からbzbellへの返信 @ March 18, 2009 [REPLY]
user-pic

>>11 bzbell さん
本当にお手間をかけます。
お言葉に甘えて・・・甘えまくっていますが・・・あせあせ
トラッキングコードは新しいものに代えています
(古いのは別のブログ部分に残っているだけです)
あらためて参考に
***.net (メイン・サイトトップ ID21)
/prelude/ (個別1  ID18)
/run-etc/ (個別2  ID6)
-------------------------ここまでを今回の動作対象としています
/book/ (個別3)と
/cinema/ (個別4)はプラグイン前の版が残っているだけです。

#13: Posted by @ March 18, 2009 [REPLY]
user-pic

bzbell さん、こんばんは。
手を焼かせておりますはて?

今回、複数ブログ運営において
1)個別ブログはその単独で
2)サイトトップは総ブログ合計で
というわがままな(!)お願いをしなければ、1)か2)のどちらか単独での動作ならば以前のプラグイン版前ので問題なく完成していたのですが・・・
今回のプラグイン版でうまくゆかない理由がつかみかねていますキャハハ

jsファイルが競合しているのかと思い、試しに今回使う2つのjsファイル以外を切ってみたのですが、やはり変わりません。

相変わらず、設置ブログのトップページ(index.html)へのアクセスのみが表示されて、エントリページへのアクセスは表示されない状況です。
jquery\pagerank\log\IDNo.\data01.txtをのぞいてもトップページへのアクセスしか記録されていませんしくしく

#14: Posted by Author Profile Page bzbellからへの返信 @ March 18, 2009 [REPLY]
user-pic

>>12 羊 さん
>>13 羊 さん

> 古いのは別のブログ部分に残っているだけです

そいうことでしたか。そこまで気づきませんでしたあせあせ
羊 さんのサイト( Prelude )をデバッグすると、スクリプトはちゃんと応答が返ってます。
ですので、設置については問題ないと思います。となると、CSS になるのですがランキング表示用の CSS って用意されてますか!?
サンプルコード( index.html )内に CSS を記述してますので参考にして頂けたらと思います。
ご確認くださいぺこり

#15: Posted by @ March 18, 2009 [REPLY]
user-pic

ご返事、ありがとうございます。
しかし、ここまで続くと面目ないですねはて?
CSSで表示に問題があるようには思えません。
(前回うまくいったプラグイン版前のを使っていますが、それはbzbellさんのにちょっと手を入れているだけです)

前にも書きましたがlogフォルダのdata01.txtを覗いても
トップページへのアクセスしか記録されていないので、各ブログ記事ページへのアクセス取得がどこかでうまくいってないのかと思います。キャハハ

#16: Posted by Author Profile Page bzbellからへの返信 @ March 18, 2009 [REPLY]
user-pic

>>15 羊 さん

不具合を見つけました。
たとえば、以下のようなフォルダ構成で設置したとします。

http://bizcaz.com/
|
+-- blog1/
|
+-- blog2/
|
+-- js/
|  +-- pagerank/
|

この場合各ブログのテンプレート内に埋め込むコードは以下のようにします・・・と説明してきましたが、

<div id="pagerank_viewer">
<script type="text/javascript">
$('#pagerank_viewer').PageRank({
blog_id      :各ブログのブログ ID,
blog_url     :'各ブログの URL',
});
</script>
</div>
ランキングスクリプトの URL はブログ URL を使ってその場所を特定するような実装になってるんです。 でも、複数のブログで使用する場合には、必ずしもそのブログの配下にランキングスクリプトがあるわけではないですよねあせあせ 正しくは、上記フォルダ構成だと以下のようにしないとダメってことになります。
<div id="pagerank_viewer">
<script type="text/javascript">
$('#pagerank_viewer').PageRank({
blog_id      :各ブログのブログ ID,
blog_url     :'http://bizcaz.com/js/pagerank/', ★ここがポイント
});
</script>
</div>

でも、上記のようにスクリプトをアップロードした URL を指定してしまうと、弊害がでてしまいます。
たぶん、これが原因で 羊さんところも問題になってるのではないかと思います。

今対策を考えてますので少々お待ちくださいぺこり

#17: Posted by Author Profile Page bzbellからへの返信 @ March 18, 2009 [REPLY]
user-pic

>>15 羊 さん

遅くなりました。
ver2.15 をダウンロードして頂き、ブログ別にランキング表示したい場合には以下のコードを埋め込んでください。

<div id="pagerank_viewer">
<script type="text/javascript">
$('#pagerank_viewer').PageRank({
blog_id :★ブログID,
blog_url:'★ブログの URL',
script_url:'★ランキングスクリプトのアップロード先 URL'
});
</script>
</div>
★印のところを変更してください。 そして、複数のブログをまとめてランキング表示したい場合には以下のコードをお使いください。
<div id="pagerank_viewer">
<script type="text/javascript">
$('#pagerank_viewer').PageRank({
blog_id :ブログID,
blog_url:'ブログの URL',
script_url:'ランキングスクリプトのアップロード先 URL',
include_all_logs:1★必須
});
</script>
</div>
先ほどに★印のオプションを指定します。 このオプションを指定しないとトータルなランキングが表示されません。

ご確認くださいもじもじ

#18: Posted by からbzbellへの返信 @ March 19, 2009 [REPLY]
user-pic

>>17 bzbell さん、こんばんは。
仕事他でかなり疲れています・・・あせあせ

スクリプトの指定先を相対パスでなく、絶対パス(URL)指定で・・・というのは、僕も思い付いていました。個人的なサイト事情ですが、
book/
cinema/  は階下直後にブログ記事が置かれますが

prelude/
run-etc/   は階下にもう一つカテゴリの階層をおいてからブログ記事をおいています。
(今は全て前のトラッキングコードを消して、プラグイン版にしています)

それで、僕もbzbell さんの指摘前にスクリプトの指定が一個ずれるから、「きっとこのせいだ!」と気づいていたのですが、URL指定にしてもダメでした。
今回のヴァージョン2.15にして、bzbell さんの指示通りにしてもやはり同じようですエーン

でも、ありがとうございます。僕も引き続き僕なりに考えてみます。

#19: Posted by からbzbellへの返信 @ March 24, 2009 [REPLY]
user-pic

>>17 bzbell さん
お久しぶりです。短い間に随分とヴァージョンアップしてますねバイバイ
しばらく報告できませんでしたが、週末の作業で解決しました!やあ!
今は各ブログへの設置を完了したところです。
一番のミソのメインブログに全ブログの集計を表示させるのは今からですが・・・あせあせ

でも、ひとつ壁を越える事ができてホッとしています。
ところで、今回ヴァージョンでランキングから除外したいページを設定するオプションの使い方が今ひとつ分かりません。

exclude_page:0;

は、jquery.pagerank.js 内に記述するのと、ランキング表示させたい箇所へのコードとして記述するのと、どう整合させるのでしょうか?
はて?exclude_page:0; をコードに記述すると、単にそのページに表示されない・・・ことになるようで要領を得ないのですが・・・。

#20: Posted by Author Profile Page bzbellからへの返信 @ March 24, 2009 [REPLY]
user-pic

>>19 羊 さん

こんばんわ^^

> exclude_page:0; をコードに記述すると、単にそのページに表示されない・・・ことになるようで要領を得ないのですが・・・。

ランキング表示はしたいけど、カウントはしたくないときなどに exclude_page: 1 として頂けたらと思いますやあ!

#21: Posted by からbzbellへの返信 @ April 6, 2009 [REPLY]
user-pic

>>20 bzbell さん
お久しぶりです。バイバイ
報告が遅くなりましたが、今回プラグインの主題である「個別ブログのランキング+複数ブログによる総ブログを対象にしたランキング」表示もうまくいっています。ワクワク
cronも初めて利用してみましたが、説明通りにして一発でうまく作動しました。
先週に完了して以降、安定した動作をみせています。
あらためてありがとうございました!パチパチ

ところで、また別の要望になるのですが、
サーチエンジン経由でサイトに来訪した場合の「キーワードランキング」なるものをbzbellさんの方で作成されることは難しいでしょうか?(重ね重ねの無理を承知できいてみています)あせあせ

昨年、niftyのcocologでオプションパーツにできるようになったものです。

実は当初からキーワードランキングの表示に興味を持っていて、まず手始めにアクセスランキングを今回、設置してみたものです。
キーワードの方は単純なアクセスと違い、対象が多くて集計しにくいかもしれませんが・・・。

ランキングスクリプトが非常に奥の深い、難しいことは重々、分かりましたが、可能であれば、と思いました。んっ!?

#22: Posted by Author Profile Page bzbellからへの返信 @ April 6, 2009 [REPLY]
user-pic

>>21 羊 さん

こんばんわ^^

羊 さんの思惑通りにできてよかったですねにこっ!

> サーチエンジン経由でサイトに来訪した場合の「キーワードランキング」なるものをbzbellさんの方で作成されることは難しいでしょうか?

羊 さんのサイトで PHP スクリプトを埋め込むことができれば可能かもしれません。
実はウチでは検索エンジンからのキーワードをベースに、サイト内検索した結果を表示するようにしてます。これは PHP スクリプトをテンプレート中に埋め込んで、検索キーワードからブログ内検索結果を表示する…といったしくみですうぅ~ん
※tinypLPO プラグイン

ただしすぐには作成できません。
実際にできるかどうかも( 技術的にはできると思いますが、わたしのスキル的にね )やってみないと分かりません。

お時間頂けますかもじもじ

#23: Posted by からbzbellへの返信 @ April 7, 2009 [REPLY]
user-pic

>>22 bzbell さん
こんばんは。
早速のご検討をありがとうございます。バイバイ

>やってみないと分かりません。
>お時間頂けますか

無理なお願いであれば申し訳ありません。
失礼を承知できいてみたまでですので。あせあせ
でも、ココログユーザーにも好評のようなので、今回の総ブログのアクセスランキング同様、面白いパーツとして人気(ニーズ)はありそうに思います。
こちらはのんびりとでもお待ちできますので。グウグウ

#24: Posted by @ April 28, 2009 [REPLY]
user-pic

bzbellさん、お久しぶりです。バイバイ
再びのおたずねです。
デフォルトではログの集計期間が7日になっていますが、今回、気分を換えようと30日にしてみました(10日でもいいのですが)。
この場合、rank_config.php 中の
define('ROTATION_DAYS', 7 );// ローテーション(日)
だけを変更することでよいのでしょうか?

ここの日数を変えただけでは、表示は**daysになるものの、
ログフォルダ中のログデータは依然としてdata01~07のままとなります。キャハハ
=ここで設定日数分のファイルができないとおかしいわけですよね。

rank_config.php の他にも修正する箇所があるのであれば教えていただければと思います。うぅ~ん

#25: Posted by Author Profile Page bzbellからへの返信 @ April 29, 2009 [REPLY]
user-pic

>>24 羊 さん

おはよございます^^

> ログフォルダ中のログデータは依然としてdata01~07のままとなります。

ROTATION_DAYS を 30 にしたことですぐに 30 日分のログファイルが作成されるわけではありません。ログファイルの作成は日付が変わったときに初めて作成されます。
ですので 7 日以上経過をみて頂けますかうぅ~ん

#26: Posted by からbzbellへの返信 @ April 29, 2009 [REPLY]
user-pic

>>25 bzbell さん
おはようございます。

もちろん、数日経過をみたあとでのことなのです。はて?
(今のところdata07でローテーションしています)

#27: Posted by Author Profile Page bzbellからへの返信 @ April 29, 2009 [REPLY]
user-pic

>>26 羊 さん

> もちろん、数日経過をみたあとでのことなのです。

おっかしぃですねぇイヤイヤ
コードを読む限り問題なさそうな気がするのですが…確認してみます。
ちなみに、

  1. stat ファイルのタイムスタンプは 4/29 00:00 になってますでしょうか。
  2. stat ファイルの内容を教えていただけますか。
#28: Posted by からbzbellへの返信 @ April 29, 2009 [REPLY]
user-pic

>>27 bzbell さん
お手を煩わせますもじもじ

> 1. stat ファイルのタイムスタンプは 4/29 00:00 になってますでしょうか。
9つの個別ブログに設置しています(欲張りですねあせあせ
それぞれタイムスタンプは微妙に違っておりますが、いずれも4/29で、時間が0:00のものはひとつのみ、あとの8つはランダムな時間です(0:58だったり6:13,13:52・・・・)

> 2. stat ファイルの内容を教えていただけますか。
6>2009/04/30となっています。

なお、logフォルダ中のファイルは
data01が4/24更新
data02が4/25更新
・・・
data06が4/29更新(最新)
data07が4/23更新(最旧)
なので、statファイルは最新分のナンバーを示している、と解しています。

よろしくお願いします。んっ!?

#29: Posted by Author Profile Page bzbellからへの返信 @ April 29, 2009 [REPLY]
user-pic

>>28 羊 さん

確認しますが、

  1. 各ブログの stat ファイルすべてが「6<>2009/04/30」なのでしょうか。
    stat ファイルは各ブログそれぞれに存在してますか!? ディレクトリ構成を変更されてるってことはないですよね!?
  2. 本来なら rank_config.php はすべてのログで共有してますので、すべてのログで 30 となるはずです。そこら辺はどうなのでしょうか。

明日になれば 7 日以上ロギングがされるか否か真偽は分かりますが、コード上では問題なさそうに思えます。

#30: Posted by Author Profile Page bzbellからへの返信 @ April 30, 2009 [REPLY]
user-pic

>>28 羊 さん

ウチの環境を 10 日分のログ収集に変更したところ問題なく 8 日目のファイルが作成されています。
なので、先ほども言いましたがにコード的には問題なさそうですあせあせ

問題は stat ファイルなのですがちゃんとブログ別に作成してるかご確認頂けたらと思います。

#31: Posted by からbzbellへの返信 @ April 30, 2009 [REPLY]
user-pic

>>30 bzbell さん
お手間をとらせます。
>1. 各ブログの stat ファイルすべてが「6>2009/04/30」なのでしょうか。
stat ファイルは各ブログそれぞれに存在してますか!? ディレクトリ構成を変更されてるってことはないですよね!?

はい、今日は全てのログフォルダでstatファイルが
7>2009/05/01 となっています。

2. 本来なら rank_config.php はすべてのログで共有してますので、すべてのログで 30 となるはずです。そこら辺はどうなのでしょうか。

はい、これも試しに10に変えてみると、全ブログで10に変わったので、共有は問題なさそうです。

またディレクトリ構成があやしい・・・のかもしれません。
こちらでもう少しよく確認してみます。しくしく

#32: Posted by からbzbellへの返信 @ May 1, 2009 [REPLY]
user-pic

>>30 bzbell さん
今日見ると全ブログ分のログフォルダに8日目のファイルが作成されていました。うぅ~ん

rank_config.php のアップロードに問題があったのかもしれませんあせあせ
ただ、それでも表示は30DAYSになったところがやはり疑問は残りますが・・・。

逆におたずねなのですが、極端な話、ローテーションの日数は無限に設定できるのでしょうか?(30日でダメで10日でOKだったもので・・・)

ともあれお騒がせしました。これでまたしばらく様子を見てみます。バイバイ

#33: Posted by Author Profile Page bzbellからへの返信 @ May 1, 2009 [REPLY]
user-pic

>>32 羊 さん

こんばんわ^^

> ただ、それでも表示は30DAYSになったところがやはり疑問は残りますが・・・。

rank_config.php の内容をただ表示するだけなので特に不思議じゃないですあせあせ
ログ出力は 30 日を経過したかどうかをチェックするわけですが、10 日は OK で 30 日はダメというような制御は一切入れてないのでそっちの方が不思議でなりませんキョロキョロ
無制限はあり得ないですが、ぶっちゃけ指定した日数のログを溜め込むはずです。ただし、その分データ量が増えますので表示がその分遅くなりますけど・・・。

#34: Posted by からbzbellへの返信 @ May 2, 2009 [REPLY]
user-pic

>>33 bzbell さん
こんばんは。
そうですね、不思議なのは、きっと私の側の設定に問題があるだけなのでしょう。

大変、お手を煩わせて申し訳ありませんでした。ぺこり

#35: Posted by Author Profile Page しげる @ May 18, 2009 [REPLY]
user-pic

アクセスランキングを表示させたいのですが、bzbellさんのブログにはこれに関する様々な記事があり、どこから手をつけてよいのか途方にくれています。。。(笑)

ざっと見たところ、以下の記事がアクセスランキング関連の記事のようですが、どの記事が最新で、どのスクリプトが最新で、どの記事を読んで設置すればよいのでしょうか?
一通り読んだのですが、すべての記事が複雑に絡み合っており、完全に混乱しています。。。(^^;;

http://bizcaz.com/archives/2009/03/16-013119.php
http://bizcaz.com/archives/2009/03/15-174253.php
http://bizcaz.com/archives/2008/10/04-002457.php
http://bizcaz.com/archives/2007/11/23-215846.php
http://bizcaz.com/archives/2009/03/20-220335.php
http://bizcaz.com/archives/2008/10/01-203939.php

この順番でリンクを追いながら記事を読んでいったのですが、恥かしい事にまったく理解できませんでした。。。

#36: Posted by Author Profile Page bzbellからしげるへの返信 @ May 18, 2009 [REPLY]
user-pic

>>35 しげる さん

こんばんわ^^

すいません、わたしの説明が悪いばっかりにエーン
以下のページで設置してみてくださいしくしく
http://bizcaz.com/archives/2008/10/04-002457.php

もしわからなければ設置して差し上げます。
右上にある「Contact Me」のメールフォームから以下の情報をご連絡ください。
そうしましたら、しげるさんご自身がテンプレートを設置するだけで済むよう、わたしの方で環境をお作りします。

■教えてほしい情報
  1. ランキング表示したいブログの URL
  2. ランキング表示したいブログのタイトル
  3. jQuery 版と prototype 版があります。どちらがお好みですか!?
  4. トップページ用テンプレートのファイルを添付してください。そのテンプレートにランキング・スクリプトを埋め込んで差し上げます。
以上ですにこっ!

 Post a Comment

 

コメント用フィード