質問箱/5013

カテゴリエラー・トラブル
サマリIP取得時に、カウンターの数値が増えない
バージョン1.4.7
投稿者ちわ?
状態質問
投稿日2010-09-07 (火) 10:46:14

質問

質問箱/2146 を参考にして、IPを取得できる環境にしました。 ところが、カウンターの数字が常に0になってしまいカウントしていないようです。

init.phpからIPを取得する為以下の様にしました。

(array('HTTP_USER_AGENT','PHP_SELF','SERVER_NAME','SERVER_SOFTWARE','SERVER_ADMIN','REMOTE_ADDR') as $key) 

これを

(array('HTTP_USER_AGENT','PHP_SELF','SERVER_NAME','SERVER_SOFTWARE','SERVER_ADMIN') as $key) 

の様に,'REMOTE_ADDR'をカットしてやれば、今までどおりにカウンターはきちんと増加するようです。

対処方法がまったくわからないのですが、どういった可能性が考えられるでしょうか?(外部のスキンを使用しているから??)

回答

  • 追記 ログ取得部分は以下のとおりです。 -- 2010-09-07 (火) 10:48:02
  • 続・質問箱/146に 紹介されている改造くらい、 pukiwiki.ini.phpの編集が出来たんなら、出来る筈だ。 lib/file.phpの90行目、links_update($page);の後ろに
    $fp = fopen(DATA_DIR.encode(':iplog').'.txt', 'a');
    flock( $fp, LOCK_EX);
    fputs( $fp, '|'.date("r").'|'.$_SERVER['REMOTE_ADDR'].'|[['.$page."]]|\n");
    flock( $fp, LOCK_UN);
    fclose( $fp);
    を書き加えるだけだぜ。これで、:iplogというページに記録される。 ページにするのが嫌なら、 DATA_DIR.encode(':iplog').'.txt'を好きなように変えればいい。 但し、そのファイルのディレクトリはPukiWikiから書き込みが可能な状態でな。 ページにログを記録する場合は、適切に閲覧制限を。 -- 2010-09-07 (火) 10:48:08
  • まさかとは思いますが、lib/init.phpの
    // Init server variables
    
    foreach (array('SCRIPT_NAME', 'SERVER_ADMIN', 'SERVER_NAME',
    	'SERVER_PORT', 'SERVER_SOFTWARE') as $key) {
    	define($key, isset($_SERVER[$key]) ? $_SERVER[$key] : '');
    	unset(${$key}, $_SERVER[$key], $HTTP_SERVER_VARS[$key]);
    }
    のところを書き換えていますか? -- 2010-09-07 (火) 20:45:06
  • ↑の場所を書き換えて'REMOTE_ADDR'を追加した場合、REMOTE_ADDR定数に内容を移した後$_SERVER['REMOTE_ADDR']を削除するので、デフォルトで$_SERVER['REMOTE_ADDR']と参照している場所すべてでエラーが発生します。(設定によってはエラーを無視しますが) -- 2010-11-22 (月) 19:14:01
  • 質問箱/2146は内容が古いため、そのままでは1.4.3までしか対応できませんよ。(ほかの部分も$_SERVER['REMOTE_ADDR']→REMOTE_ADDR定数への書き換えが必須になる) -- 2010-11-22 (月) 19:16:59


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-11-22 (月) 19:22:36
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.219 sec.

OSDN