- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-03-11T21:33:22+09:00;2010-11-22T19:22:36+09:00","","")
**[[質問箱/5013]] [#b5fdd2e8]
|RIGHT:70|LEFT:410|c
|~カテゴリ|エラー・トラブル|
|~サマリ|IP取得時に、カウンターの数値が増えない|
|~バージョン|1.4.7|
|~投稿者|[[ちわ]]|
|~状態|質問|
|~投稿日|&new{2010-09-07 (火) 10:46:14};|
***質問 [#u4f1433e]
[[質問箱/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'をカットしてやれば、今までどおりにカウンターはきちんと増加するようです。
対処方法がまったくわからないのですが、どういった可能性が考えられるでしょうか?(外部のスキンを使用しているから??)
***回答 [#q1215902]
- 追記 ログ取得部分は以下のとおりです。 -- &new{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から書き込みが可能な状態でな。 ページにログを記録する場合は、適切に閲覧制限を。 -- &new{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]);
}
のところを書き換えていますか? -- &new{2010-09-07 (火) 20:45:06};
- ↑の場所を書き換えて'REMOTE_ADDR'を追加した場合、REMOTE_ADDR定数に内容を移した後$_SERVER['REMOTE_ADDR']を削除するので、デフォルトで$_SERVER['REMOTE_ADDR']と参照している場所すべてでエラーが発生します。(設定によってはエラーを無視しますが) -- &new{2010-11-22 (月) 19:14:01};
- [[質問箱/2146]]は内容が古いため、そのままでは1.4.3までしか対応できませんよ。(ほかの部分も$_SERVER['REMOTE_ADDR']→REMOTE_ADDR定数への書き換えが必須になる) -- &new{2010-11-22 (月) 19:16:59};
#comment