* PHP5.1.1で昨日のカウンターが表示できない [#y4770c02]

- ページ: [[BugTrack2]]
- 投稿者: [[たくま]]
- 優先順位: 緊急
- 状態: 提案
- カテゴリー: 本体バグ
- 投稿日: 2005-12-16 (金) 00:14:52
- バージョン: 1.4.6

** メッセージ [#c4f717d2]
PHP5.0.5からPHP5.1.1にアップデートしたところ,昨日の訪問者数が常に"0"になってしまいます.counter.inc.phpにもstrtotimeが使われているようなので,[[BugTrack2/120]]と関係があるかもしれません.
--------
- わたしのところでも同様の現象が見られるのですが、
 - 正しく表示されるWikiペイジもある(0になるペイジの方が多い)
 - *.countファイルに8bit文字は記述されてない
というわけで別原因ではないかと思いつつ調べは進んでいません。 -- [[よっちい]] &new{2005-12-20 (火) 19:09:18};
- PHPを5.1.2にしましたが,相変わらず同じ現象が発生しております. -- [[たくま]] &new{2006-01-30 (月) 16:16:28};
- 私も先日サイトを移転したのですが、移転先が5.1.2でして同じ現象になりました。それでちょっとテストをしてみました。 -- [[かまかま]] &new{2006-03-03 (金) 01:04:31};
~
以下の表示をするテストプログラムを作って日付変更の前後に実行してみました。(1)と(2)は、counter.inc.php で日付の比較に使われているものです。赤背景は間違ってる部分。
 (1) echo  get_date('Y/m/d');
 (2) echo  get_date('Y/m/d', strtotime('yesterday', UTIME));
 (3) echo  get_date('Y/m/d', strtotime('yesterday'));
|               |         |(1)        |(2)        |(3)        |h
|3/1 01:20 ごろ |PHP 5.0.4|2006/03/01 |2006/02/28 |2006/02/28 |
|      〃       |PHP 5.1.2|2006/03/01 |BGCOLOR(RED):2006/02/27 |2006/02/28 |
|3/1 22:00 ごろ |PHP 5.0.4|2006/03/01 |2006/02/28 |BGCOLOR(RED):2006/03/01 |
|      〃       |PHP 5.1.2|2006/03/01 |2006/02/28 |2006/02/28 |
|3/2 00:03 ごろ |PHP 5.0.4|2006/03/02 |2006/03/01 |2006/03/01 |
|      〃       |PHP 5.1.2|2006/03/02 |BGCOLOR(RED):2006/02/28 |2006/03/01 |
そこで対処療法ですが、counter.inc.php の 111行の
  $is_yesterday = ($counters[$page]['date'] == get_date('Y/m/d', strtotime('yesterday', UTIME)));
から UTIME を抜いてみました。いまのところ良い模様です。
- strtotime()がint nowで与えた値をGMTでなくJSTと考えてしまって +9h 補正をしないために、はじめから9時間引いたUTIMEを与えて"yesterday"を計算させると「9時間前の時間(昨日)の昨日の時間」を出してしまっているように見えます。 -- [[かまかま]] &new{2006-03-03 (金) 02:09:29};
- Vine Linux2.6 PHP5.1.2とPukiWiki 1.4.6で運用していますがyesterdayが常に0になるこの症状が出ました。&br;いまUTIMEの記述を削除して様子を見てます。 -- [[kamei]] &new{2006-03-07 (火) 10:53:31};
- もしかして[[BugTrack2/76]]が関連するのかな・・・ -- [[teanan]] &new{2006-03-07 (火) 12:52:27};
- UTIMEの記述を削除したところ無事正常動作するようになりました。ありがとうございました。 -- [[kamei]] &new{2006-03-08 (水) 17:28:02};
- UTIMEの記述を削除したところ正常に動作するようになりました.ありがとうございました. -- [[たくま]] &new{2006-03-10 (金) 13:11:03};
- 「UTIMEの記述を削除」ってcounter.inc.php の 111行を(1)or(3)のどちらにすることなんでしょうか? --  &new{2006-03-10 (金) 13:43:18};
- 単純に get_date('Y/m/d', UTIME-24*60*60) の方がいいのではないでしょうか。 -- [[you]] &new{2007-05-25 (金) 02:08:50};
- PukiWiki1.4.6からPukiWiki1.4.7+PHP5.1.6にしたところ、同じ症状になりました。(3)の記述で対応してみます。 --  &new{2007-12-11 (火) 01:43:47};
- pukiwiki1.4.7PHP5.2.5で同症状確認。UTIMEを削除したら改善しました。 -- [[nobu]] &new{2007-12-12 (水) 01:38:13};
- PukiWiki1.4.7+PHP4.4.7からPukiWiki1.4.7+PHP5.2.5に更新した際に同症状確認。UTIMEを削除したら改善しました。 -- [[You&I]] &new{2008-01-04 (金) 09:56:43};
- LRXhlLITWkxwD -- [[tkmhsrhi]] &new{2009-01-10 (土) 04:54:37};

#comment

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.101 sec.

SourceForge