|
とても長いCGI処理がしたくてforkで子プロセスに処理を投げてあげたときは、ブラウザがすぐ開放されることは分かったんです。でも、処理中にエラーとか発生したときは見た目で分からなくなっちゃうんですよね?? エラーのときはなんか表示させたいのですが良い方法はあるのでしょうか? それとも長い処理はもっとfork以外の違う方法があるんですかね?? よろしくおねがいします。。。 |
|
>>2165 けんじ > ただ、perlやshではうまくいってくれるのですが perl と sh と csh は全く別物ですけど、それは理解されてますか? > 特になにも変更等していないのですが、、、、。 という文章は、sh で動いたものをそのまま csh でも動かそうと しているように見受けられます。 > "ディレクトリースタックの番号指定が深過ぎます." $d<=16 を d<=16 と書けばそうなります。 >>2166 かな 掲示板の一番上にある「使い方」を全く読んでいませんね。 # http://www.parkcity.ne.jp/~chaichan/qanda/qa1999.htm?01-10-03-19-11 |
|
>>2158 68user > print 文でデータを出力してみて下さい。そしたらどこで化けて > いるかわかるでしょう。また、フォームが書いてある HTML の文字 > コードが何になっているかも調べて下さい。 やってみたら,どこで化けているかわかりました。 jcode::convert(\$str, 'euc'); で化けていて,これを削除したら化けなくなりました。 なぜでしょうか? フォームが書いてあるHTMLの文字コードはeucにしています。 その場合は,コンバートする必要がないということでしょうか? とりあえず解決したみたいなのですが(?), 気になるのでぜひ教えて下さい。 > $file1[9] が正しい、ってことでしょう。 あ,確かに。 本からそのまま写して問題なく動いていたので 全然気付きませんでした。 人に見せると恥ずかしいので,早速,修正しました。 ありがとうございました。 > その本は捨てましょう。 あはは(^^; 確かに,少なくとも私のような初心者は 正しい記述の本で勉強した方がいいでしょうね。 私でも気付くような間違いがあちこちにあることは確かです。 でも,プログラミングのアイデアというかミソというか 参考になる点もたくさんあって,結構重宝してます。 |
|
とても初歩的な質問だと思いますが、教えて下されば幸いです。 掲示板を最近設置したのですが、サーバがアメリカにあるため 時差があるタイムスタンプをします。この時間を 16 時間早めたいのですが どのような記述をすればいいのか、わからないのです。恐らく下記の一行が関係するのだと思います。 $TimeDiff = 0; よろしくお願いいたします。また、過去ログを一応見ましたが既出の質問であった場合はお詫び申し上げます。 |
|
>>2168 椎 > なぜでしょうか? なぜでしょうね? 正確なところは各部分で s/([^-_a-zA-Z0-9])/sprintf("%%%02lX",unpack("C",$1))/eg; として URL エンコードした結果を見ないとわかりません。 > フォームが書いてあるHTMLの文字コードはeucにしています。 > その場合は,コンバートする必要がないということでしょうか? NN4, NN6, IE4, IE5 あたりなら、フォームの書いてある HTML と 同じエンコーディングで、フォームデータを送ってきますので、 フォームの書いてある HTML と、処理するデータのエンコーディングが 一致しているなら jcode::convert は必要ありません。 ただし、これは規格として明文化されているわけではないので、 あくまでも NN と IE がそういう挙動をする、ということです。 もし Shift_JIS や ISO-2022-JP で送ってくるブラウザがいた 場合は化けます。 >>2169 ジュン > この時間を 16 時間早めたいのですが 言語は何ですか? 以下は perl だと仮定して…。 $TimeDiff をどのように利用しているのかわからないと なんとも言えませんが、秒数なら $TimeDiff = 60*60*16、 時間なら $TimeDiff = 16 でしょうか。 localtime を使っているなら、その前の行に $ENV{TZ}='JST-9'; と 書いておけばうまくいくかもしれません。 |