カテゴリ | エラー・トラブル |
---|---|
サマリ | 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'をカットしてやれば、今までどおりにカウンターはきちんと増加するようです。
対処方法がまったくわからないのですが、どういった可能性が考えられるでしょうか?(外部のスキンを使用しているから??)
$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
// 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