専門話が最近続いて興味がない人には申し訳ないのですが、まぁこれもここの管理人の性なんだとすっぱり割り切って生暖かくウォッチしていたほうが精神的にも衛生的かと存じます。興味がある人、同志の匂いを感じるよ。
で、本日の専門話なのですが。get_browser関数が使えないので自前で同様の関数を用意しようと思って早速作ってみました。が、どうもルーチンそのままは使えません。CとPHPの埋めがたい実行速度差もあり、どうやっても遅いんです。そこでbrowscap.iniを編集して一旦browscap.phpsというファイルに書き出し、PHPで扱いやすい形で書き換えてから読み込むようにすればちょっとはマシになるかと思ったんですよ。作ってるときは3次元連想配列の扱いに混乱しましたが。多すぎ。配列のキー。
今日の午後に期末試験を控えていたというのに、朝方までそのデバッグを繰り返し、やっとそれなりに見える形に仕上げたんです。しかし、なぜか朝方動いていたはずのスクリプトが今になって動かない。おかしい。ファイルそのものはいじってないから、サーバ側で何かされたんだろーかと思いつつも例のごとくデバッグを繰り返し。すると、解析用の関数にてbrowscap.phpsをincludeするところで引っかかっているような感じがしました。その前後で値を返して動作を見てると、include後のスクリプトはまともに動かなくなっているんです。意味不明。なんでincludeしただけで動かなくなるねん。
原因がさっぱりつかめなかったのですが、一つだけ可能性がありました。それは転送量をオーバーした可能性がある、と。元のbrowscap.iniが220KBくらいで、browscap.phpsはそれを加工したものですからゆうに500KBはあるんですよ。それを何度もデバッグしてたせいで、一時的に凍結食らったんじゃないかと。
自業自得じゃねぇか>自分 orz
面倒くさがらずに自前のサーバで色々試せばよかったよ……。さほど性能に違いがあるわけでもないし。むしろこっちのサーバのほうがレベル低いし。browscap.iniを用いたget_browserの挙動と比較しながらできるじゃねぇか、とスクリプト停止を食らってから思った次第。ゴメンナサイ。今は、反省している。
ちなみに期末試験は情報処理試験。初級シスアドなどout of sightなので、そんなものに手を煩わせている暇はないのですよ。'`,、 ('∀`) '`,、
Comment