いろいろとはまってます!!!(>_<)

いやぁ、ほんといろいろとはまってます。まぁ、なんとかなりそうな感じがしてきたからこの日記も書けるんだけどね。

日本文化紹介用のビデオ

今日、日本にいる先輩からビデオファイルを送ってもらうことになっていた。で、先輩はまさしく正しくファイルをopenomyというサイトに置いてくれたのだけど、なぜか、

ダウンロードできません

かぁ!Web2.0っていうまぁ新しい感じのサービスを使おうとしたらこうなってしまった。しょうがないし良く理由も分からないので今度は、自分がやっているサイトのftp先を緊急に空けておきました。が、今度は先輩が

アクセスできねぇ

ガガガ!!!きっと、HTTPかHTTPSのポートしかルータで開けてないんでしょう。日本の企業からアクセスしてるしな。これはありうる。が、(その企業外の)ftpサーバへのアクセスくらい開いていても良さそうだ。何だろう本当の理由は。が、理由なんてどうでもいい。ファイルを送ってもらわねば!

先輩の苦労もあるし、俺もどうしても使いたいのだ。

ぐぅ、最悪ファイル分割してメール転送か?とも思った。が、ファイル分割も普通の人には難しいし、何しろいくつも送らなきゃならないのが非常に面倒。結合はまぁ、俺がやるからいいにしても。。。だるい。

そして、今日仕事おわってから(今日は仕事で辞書サイト構築してたのだが、そこでもはまってたから帰ってからやるしかなかった)、最近導入したばかりのADSLを使ってネットをさまよった。そうしたら、あるんだね!!!いいサービスが!!!

http://www.filebank.co.jp/

で、ここを使って、どうにかするつもり、あと少し経てばファイルが来るかも。日本時間でだいたい午前9時だから!!!

辞書サイトではまる。

今日は、今まで作ってきた辞書サイトをリリースしてました。が、はまる。1個目は、login関係のところ。なーぜか認証がうまくいかない。と思ったら、バグが混入してました。はぁ、変なバグが試験環境じゃ出なかったんだ?LinuxFreeBSDの違いか?まぁ、そこはすぐに直して(家帰ってから、自宅のソースも更新かけておきました)おきました。

その後、非常にはまります。

辞書のデータを更新するためにセッションというステートレスなHTTPを擬似的にステートフルにする情報をサーバ側で保持しているのだが、これがメニューを表示するときに切れてしまいます。ということは、当然そのあとの処理を継続できない。うーんとうなったのだが、ここでTimeup(16:30)。県庁で(20:30)まで解析してました。まぁだいたいの見当がついていたから良かったのだが。。。

原因としては、

  • Set-cookieがHTTP headerに含まれていない
  • 含まれていないのは、setcookieやったときにfalseが返されるから
  • falseが返されるのはHTTP headerの前に文字列を出力しているから(推測)

が、setcookieやる前には一つも文字列出力して出してないんだけど、どういうこと???本当はもっと解析進めるべきなんだけど、他のコードの影響も考えてoutput_bufferingを有効にすることで対処しようと思う。これだったらHTTP headerの前に文字列を出していてもサーバ側でスプールしてくれるから。根本じゃないな。まぁ、いいか。

一応Windows環境でも試してみました。output_bufferingをoffにすると、処理継続できません。で、onにすると継続。だから、これを直せばよいのだ!

しかし、Linux環境はoutput_bufferingがoffだったぞ!試験環境でエラーが出るはずなのにでない。何故だ???かなり試験環境は厳しい設定にしてるんだけどな。効いてないのか?うーん、よくわからないが、まぁなんとかなる方法を見つけたので救われました。