ftshの日記: 今日の、特殊戦。
『あれはジャムだ。わからないのかっ!』と言いたい気分。
早朝の鯖入替え作業をやり終える。
鯖の入替えなんて、めったなことではやるべきではないと痛感。
運び込む前、事前の動作チェックは、プログラムレベルでも徹底して行うべきという、本当に基本的なところを疎かにしたために、いくつか問題を発生させてしまった、ダメな子ftsh。
『おまえに、この仕事をする資格は、ない。』
Σ(゚д゚lll)ガーン
いやね、phpスクリプトの挙動が不審で、のたくってしまいましたヨ。
postgreSQLに一度だけinsertかける部分のある、phpスクリプト(外注製-134行の短いもの)なんですが、これが問題だった。
最初は PHP-4.3.4RC4(現時点で最新のリリース)を使って組んでみて、特別動作におかしなところがなかったので、OKと判断。
しかし、一部のスクリプトの挙動がおかしい。
簡単なつくりなので、順にpg_exec($CONN,$QUERY)を何度か実行するだけなのだが、コード上はループが存在せず、一度だけクエリを実行するはずが、結果を見ると2回ないし3回のクエリ発行を行っている。
postgresのログを見ても、確かにクエリを2回ないし3回発行していた。
"submitを連打したかな?"と考え、慎重に操作してみても、結果はかわらず。
このスクリプトは、PHP-4.2.2上でうまく動作していたものだったので、疑いをいだかず PHP-4.3.4上で動作させようとしたものだった。
#4.2系列で使うのを前提で作成させたわりに
#i18n_ja_jp_hantozen($STRING,"K")
#とか平気に出てくるようなコードだったし・・・。
問題へのアプローチとしては、"phpエンジンのヴァージョンダウン"と"phpスクリプトの書換え"の二つを考えた。
最終的には、phpエンジンのヴァージョンダウンを選択。
php-4.3.4からphp-4.3.1に変更。
これにより、phpスクリプトの動作は、php-4.2.2-multibyteの時と同等になった。
フムン、php.iniも書換えてないのに、一体どこに問題があるのだろう・・・
今日の、特殊戦。 More ログイン