[PHP-users 1067] Re: php と UNIX 2001年9月9日問題

松嶋祥文 php-users@php.gr.jp
Fri, 03 Aug 2001 18:52:11 +0900


松嶋@ITBoost です。

| 2001年9月9日問題というUNIX 上の問題を耳にしました。
| 
| 現在上記問題がPHPを用いて作成されているアプリケーション
| に影響を及ぼすかどうかについて調査中ですが、時間の関数
| を中心に調べていけば良いものなのでしょうか。

新開さんのメールによると、PHP 内部での処理は大丈夫な
ようですから、PHP アプリ側の処理を追っていくというこ
とになりますね。

UNIX タイムスタンプ(1970/1/1 00:00:00 からの通算秒数)が
9 ケタであることを前提に作られているプログラムが不具合を
起こします。

たとえば、UNIX タイムスタンプを含む文字列をデータベー
スに格納する際、10 ケタのタイムスタンプが生成されると
その項目の最大文字数を超えてしまう、とか、substr で
なんかするときにおかしくなる、などです。

gmtime, gmmktime, mktime, strftime, time, strtotime
が UNIX タイムスタンプを返す関数ですので、それらが
生成した値のその後を追っていく、という方法で調べて
いけばいいんじゃないでしょうか。
# 大変そうですね…。

お役に立てれば幸いです。
-- 
                                                      ,-------------+
+----------------------------------------------------'              |
| 株式会社 IT Boost / アイティーブースト                            |
| 松嶋 祥文 [ mats@itboost.co.jp ]                                  |
|                                         http://www.itboost.co.jp/ |
|         PHP, Perl, PostgreSQL, Apache, Java 他、いろいろあります。|
+-------------------------------------------------------------------+