■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

read.cgi再開発スレ Part2

422 :root▲ ★ :2005/12/06(火) 02:09:04 ID:???0 BE:730324-###
で、>>421 は出なくなって、今は、

[notice] child pid 67012 exit signal Segmentation fault (11)

うむむ。

423 :◆cZfSunOs.U :2005/12/06(火) 02:18:11 ID:iYd2v5pK0
>>421
>Request exceeded the limit of 10 subrequest nesting levels
>due to probable confguration error.

う〜む......サブリクエストが無限ループになってるんですかね......
proxy 関連の設定はどうなってますか?


424 :◆cZfSunOs.U :2005/12/06(火) 02:22:45 ID:iYd2v5pK0
あと気になる点は......

・ ch2->zz_filesize の型 (apr_size_t? apr_off_t?)
・ ch2->BigBuffer[ch2->zz_filesize] に '\0' を置く必要あり?

425 :root▲ ★ :2005/12/06(火) 02:29:52 ID:???0 BE:2463539-###
>>424
> apr_size_t zz_filesize ;

のようです。

で、apr_file_close(in) の後は、

p = ch2->BigBuffer ;
for(i=0;i<ch2->zz_filesize;i++,p++)
{
if(*p == '\0') *p = '*' ;
}
*p = '\0' ;

p = ch2->BigBuffer ;
ch2->lineNum = 0 ;

と、やっている模様。

426 :root▲ ★ :2005/12/06(火) 02:31:04 ID:???0 BE:2189164-###
>>423
> proxy 関連の設定はどうなってますか?

# livejupiter
ProxyPass /livejupiter/SETTING.TXT !
ProxyPass /livejupiter/ http://live22x.2ch.net/livejupiter/
ProxyPassReverse /livejupiter/ http://live22x.2ch.net/livejupiter/

です。

427 :◆cZfSunOs.U :2005/12/06(火) 02:44:03 ID:iYd2v5pK0
>>425 了解です.zz_filesize の型は良かったのですが,

>*p = '\0' ;

があるので apr_brigade_pflatten() のところはこうした方がよさそうです.

-        apr_brigade_pflatten(f.ctx, &ch2->BigBuffer, &ch2->zz_filesize, r->pool);
+        apr_off_t blen;
+        apr_brigade_length(f.ctx, 1, &blen);
+        ch2->zz_filesize = blen;
+        ch2->BigBuffer = apr_palloc(r->pool, ch2->zz_filesize + 1);
+        apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize);


>>426 了解です.特に問題はなさそうですね.何が起こってるのかトレースできればいいんですが......

428 :root▲ ★ :2005/12/06(火) 02:57:19 ID:???0 BE:729942-###
ううむ、>>422 のようです。>>427

で、ch2->BigBuffer は、dso_main で最初に、

CH2READ ch2 ;

と言っていて、CH2READ は、構造体になっているです。
で、その中でこんなかんじでとっているです。
つまり、apr_pallocで取っているわけではないみたい。

char BigBuffer[SZ_BIGBUF] ;

429 :root▲ ★ :2005/12/06(火) 03:05:30 ID:???0 BE:4925096-###
で、入れてみましたが、

・バーチャルホスト毎の access.log error.log は出ない
・一番親のログは >>422

のようです。

430 :◆cZfSunOs.U :2005/12/06(火) 03:07:50 ID:iYd2v5pK0
>>428 なるほど.とするとこんな感じですか......

        apr_off_t blen;
        apr_brigade_length(f.ctx, 1, &blen);
        if ((ch2->zz_filesize = blen) >= SZ_BIGBUF)
            return 何かのエラー番号;
        apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize);

# デカい構造体をスタックに確保するってのはちょっと不安があるわけですが,
# 今までそれで動いてたのなら今回の問題とは無関係だろうということで......

で......死んだ時の core のバックトレースを取るとか,truss でトレースするとか
できますでしょうか......?

431 :root▲ ★ :2005/12/06(火) 03:08:15 ID:???0 BE:4925096-###
現在のもの:

+#ifdef SNOWMAN
+static apr_status_t rdat_filter(ap_filter_t *f, apr_bucket_brigade *b)
+{
+ return ap_save_brigade(f, (apr_bucket_brigade **)&f->ctx, &b, f->r->pool);
+}
+#endif

+#ifdef SNOWMAN
+ int rv;
+#if defined(AP_SERVER_MINORVERSION_NUMBER) && AP_SERVER_MINORVERSION_NUMBER >= 2
+ ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL, NULL, 0, 0};
+#else
+ ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL};
+#endif
+ ap_filter_t f = {&frec, NULL, NULL, r, r->connection};
+ char *uri = apr_pstrcat(r->pool, "/", ch2->zz_ita, "/dat/", ch2->zz_key, ".dat", NULL);
+ request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f);
+
+ if (!(rv = rdat->status == HTTP_OK ? ap_run_sub_req(rdat) : rdat->status)) {
+ apr_off_t blen;
+ apr_brigade_length(f.ctx, 1, &blen);
+ ch2->zz_filesize = blen;
+ apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize);
+ apr_brigade_destroy(f.ctx);
+ ch2->zz_mtime = rdat->mtime ? rdat->mtime
+ : apr_date_parse_http(apr_table_get(rdat->headers_out, "Last-Modified"));
+ }
+ ap_destroy_sub_req(rdat);
+
+ if (!rv) {
+ ch2->where = W_LIVE;
+ return 1;
+ }
+#else
(続く)

432 :root▲ ★ :2005/12/06(火) 03:11:20 ID:???0 BE:1094562-###
>>430
何かのエラー番号: datが大き杉
ってことですかね。

で、Apacheのcoreをとるには、、、。

433 :root▲ ★ :2005/12/06(火) 03:12:33 ID:???0 BE:4378368-###
if(ch2->zz_filesize > SZ_BIGMAX) return 3002 ;

だから、3002でいいのかな。

434 :root▲ ★ :2005/12/06(火) 03:14:30 ID:???0 BE:730324-###
ということで、今こうです。
結果は同じか。

で、core dumpとってみるです。

+#ifdef SNOWMAN
+ int rv;
+#if defined(AP_SERVER_MINORVERSION_NUMBER) && AP_SERVER_MINORVERSION_NUMBER >= 2
+ ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL, NULL, 0, 0};
+#else
+ ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL};
+#endif
+ ap_filter_t f = {&frec, NULL, NULL, r, r->connection};
+ char *uri = apr_pstrcat(r->pool, "/", ch2->zz_ita, "/dat/", ch2->zz_key, ".dat", NULL);
+ request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f);
+
+ if (!(rv = rdat->status == HTTP_OK ? ap_run_sub_req(rdat) : rdat->status)) {
+ apr_off_t blen;
+ apr_brigade_length(f.ctx, 1, &blen);
+ if ((ch2->zz_filesize = blen) >= SZ_BIGBUF)
+ return 3002;
+ apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize);
+ apr_brigade_destroy(f.ctx);
+ ch2->zz_mtime = rdat->mtime ? rdat->mtime
+ : apr_date_parse_http(apr_table_get(rdat->headers_out, "Last-Modified"));
+ }
+ ap_destroy_sub_req(rdat);
+
+ if (!rv) {
+ ch2->where = W_LIVE;
+ return 1;
+ }
+#else

435 :◆cZfSunOs.U :2005/12/06(火) 03:16:17 ID:iYd2v5pK0
>>432
CoreDumpDirectory /tmp
とかで(httpd プロセスが書き込み可能なディレクトリを指定).

>>433 というか,lookfor() はエラー時 0 を返すので,とりあえずその部分では

-            return 何かのエラー番号;
+            return 0;

にしないとしょうがないですか......

436 :root▲ ★ :2005/12/06(火) 03:18:33 ID:???0 BE:547632-###
>>435
設定してみた。

で、
if(!lookfor(ch2,r)) return 3001 ;

なので、return 0ですか。

437 :root▲ ★ :2005/12/06(火) 03:26:08 ID:???0 BE:2189546-###
ううむ、core dumpしないみたいです。
[Mon Dec 05 10:25:09 2005] [notice] child pid 74701 exit signal Segmentation fault (11)

# XXX
CoreDumpDirectory /tmp

を、httpd.conf に書いたのですが。

438 :◆cZfSunOs.U :2005/12/06(火) 03:35:45 ID:iYd2v5pK0
う〜む,なぜだろう......となると......
http://www.freebsd.org/cgi/man.cgi?query=truss
は使えるんでしょうか......?

439 :root▲ ★ :2005/12/06(火) 03:42:26 ID:???0 BE:1368353-###
truss はできますが、Solarisほど強力じゃないのか。

http://httpd.apache.org/dev/debugging.html

これですか。

440 :◆cZfSunOs.U :2005/12/06(火) 03:47:48 ID:iYd2v5pK0
そうか.....httpd が最初に root で立ち上がってると OS のデフォルトでは
core 吐かないようになってるのかな......とすると,とりあえず直接 User
ディレクティブで指定してるユーザで立ち上げてみるとか......

441 :root▲ ★ :2005/12/06(火) 03:57:33 ID:???0 BE:821333-###
302 みたいです。<= rdat->status

442 :root▲ ★ :2005/12/06(火) 03:58:42 ID:???0 BE:821333-###
すんません。かんちがいだった。>>441

443 :root▲ ★ :2005/12/06(火) 03:59:21 ID:???0 BE:3283294-###
200 だなぁ。ちゃんと。

444 :root▲ ★ :2005/12/06(火) 04:04:30 ID:???0 BE:2554447-###
core dumpしてるの、ここじゃないですね。
もっとあとみたい。

445 :root▲ ★ :2005/12/06(火) 04:09:12 ID:???0 BE:2919348-###
ap_rprintf(r, "%s\n", ch2->BigBuffer);

ってやっても、なんかちゃんと出ないみたい。

446 :◆cZfSunOs.U :2005/12/06(火) 04:20:04 ID:iYd2v5pK0
>>441-445 乙です.こちらのローカル環境ではOkなんですが,う〜む......

447 :root▲ ★ :2005/12/06(火) 04:22:22 ID:???0 BE:3192375-###
-funsigned-char しているせいかなぁ、、、。

448 :root▲ ★ :2005/12/06(火) 04:24:03 ID:???0 BE:1916137-###
strlen(ch2->BigBuffer) が、3らしい。ううむ。

449 :◆cZfSunOs.U :2005/12/06(火) 04:33:03 ID:iYd2v5pK0
う〜む......原因もつかめないとすると......サブリクエスト方式をやめて
ソケットで localhost に取りに行く方式にした方がいいんですかねぇ.
read.cgi 1呼び出しごとに2プロセス消費することになっちゃいますが......

450 :root▲ ★ :2005/12/06(火) 04:38:46 ID:???0 BE:1642436-###
>>449
ちと、キャッシュ関連やめてみるです。

451 :root▲ ★ :2005/12/06(火) 04:40:34 ID:???0 BE:1824645-###
同じだった。

BigBufferの最初の4バイトが、どのdatを読んでも 1f 8b 8 0 になるです。

>>449
それも、なんかしゃくですね。ううむ。

452 :root▲ ★ :2005/12/06(火) 04:44:36 ID:???0 BE:1094562-###
バッファを大域変数でとってみたけど、同じだった。

apr_brigade_flatten のところが、ちゃんと動いていない??

453 :◆cZfSunOs.U :2005/12/06(火) 04:47:52 ID:iYd2v5pK0
ch2->zz_filesize はどうですか......?

454 :root▲ ★ :2005/12/06(火) 04:51:19 ID:???0 BE:1368735-###
http://live22x1.2ch.net/test/read.cgi/livejupiter/9240000003/
を読んで、

ap_rprintf(r, "%d\n", ch2->zz_filesize);

ってやったら、832 って出たです。
実際には、1428バイトあるですね。

455 :動け動けウゴウゴ2ちゃんねる :2005/12/06(火) 04:54:01 ID:JNumL22n0
1f 8b 8 0はgzipか

456 :root▲ ★ :2005/12/06(火) 04:54:33 ID:???0 BE:2553874-###
>>455
おーーー。

457 :root▲ ★ :2005/12/06(火) 04:55:49 ID:???0 BE:2463539-###
ってことは、、、。
ここは1Gbps内部接続だし、圧縮はなくてもいいような気もするです。

458 :root▲ ★ :2005/12/06(火) 04:57:06 ID:???0 BE:1824645-###
どうすんのがいいのかな。

live22のhttpdでgzipしないようにする? のも、いまいちだなぁ。
サブリクエスト(って言うんでしたっけ)の時に、no gzip にできないのかしら。

459 :root▲ ★ :2005/12/06(火) 05:03:52 ID:???0 BE:5746379-###
ううむ、
こりゃ、live22側のhttpdをごにょごにょするほうがよさげですね。

SetEnvIfか何か使うか。

460 :root▲ ★ :2005/12/06(火) 05:06:08 ID:???0 BE:3830876-###
live22のhttpdでmod_defleteをはずしてみたら、できたー。

http://live22x1.2ch.net/test/read.cgi/livejupiter/1133132580/

461 :root▲ ★ :2005/12/06(火) 05:06:46 ID:???0 BE:1368735-###
ってことは、

・フロントエンドからのリクエストだったら、gzipかからないようにする

で、いけるのか。

やろう、やろう。

462 :root▲ ★ :2005/12/06(火) 05:10:41 ID:???0 BE:6567089-###
うーむ、、、。諸事情によりmod_rpaf使っているからなぁ。
REMOTE_ADDRではできないのか。

どうすべ。

463 :root▲ ★ :2005/12/06(火) 05:11:22 ID:???0 BE:3283294-###
とりあえず、後で考えることにして、
mod_deflateはずしておこう。 @ live22

で、read.cgiを入れてみるか。

464 :動け動けウゴウゴ2ちゃんねる :2005/12/06(火) 05:19:07 ID:boYqBZIZ0
355 ▲ ◆cZfSunOs.U sage 2005/12/06(火) 05:04:33
なぜか read.cgi スレで「連続投稿ですか?10回」とか出てしまうんで一時避難でこちらへ......

>>455-458 むむ......ってことは......

apr_table_set(r->subprocess_env, "no-gzip", "");

を ap_run_sub_req() の前に実行かな......


356 ▲ ◆cZfSunOs.U sage 2005/12/06(火) 05:13:01
apr_table_unset(r->headers_in, "Accept-Encoding");

も入れた方がいいかな......

# 相変わらずあっちに書けないんでどなたか転載して頂けると助かります......


357 ▲ ◆cZfSunOs.U sage 2005/12/06(火) 05:14:25
間違えた...... r じゃなくて rdat じゃないとダメです.

apr_table_set(rdat->subprocess_env, "no-gzip", "");
apr_table_unset(rdat->headers_in, "Accept-Encoding");

465 :root▲ ★ :2005/12/06(火) 05:23:29 ID:???0 BE:2189838-###
>>464
これの 357 のやつで、live22の設定をgzipありにしても動いたー。

すばらしいです。これでread.cgiもフロントにできる。

466 :root▲ ★ :2005/12/06(火) 05:26:52 ID:???0 BE:5107878-###
まだ #ifdef しているけど、フロント動作版 read.cgi を live22x[123] に入れた。
これで、大会前の準備はほぼすべて整いました。

深夜までつきあっていただいた SunOS さん、
それから神様 >>455 さん、ありがとう、ありがとう。

467 :動け動けウゴウゴ2ちゃんねる :2005/12/06(火) 06:13:15 ID:JNumL22n0
rdat(rnew)のヘッダいじるとrにも反映される予感。
2.0と2.2でちょっと違うけど、
rnew->headers_in = r->headers_in;
こんな風になってる。
envはコピーのようだけど。
rnew->subprocess_env = apr_table_copy(rnew->pool, r->subprocess_env);

468 :◆cZfSunOs.U :2005/12/06(火) 08:22:29 ID:tmMnLjck0
>>467 おぉ......となると,こうすべきですね.

# "no-gzip" は多分なしで平気ですね.

rdat->headers_in = apr_table_copy(rdat->pool, rdat->headers_in);
apr_table_unset(rdat->headers_in, "Accept-Encoding");

469 :root▲ ★ :2005/12/06(火) 11:23:53 ID:???0
>>468
組み込みます。

で、昨日の会話でわかったのは、
Apache 2.2系と2.0系のread.cgiでは、バイナリレベルでの互換性がなくなるってことすね。
いずれ2.2化する時には、注意しないと。

470 :root▲ ★ :2005/12/06(火) 11:29:13 ID:???0
live22x[123] に、read.cgi の広告を配布するようにした。

471 :◆cZfSunOs.U :2005/12/06(火) 22:37:17 ID:iYd2v5pK0
緊急の問題ではないですが,ここ(スタックにデカい配列・構造体を確保)が
やはりちょっと気がかりではあります.

>>428
>CH2READ ch2 ;
>char BigBuffer[SZ_BIGBUF] ;

現状では一応問題なしのようですが,もし今後マルチスレッド MPM を使用するとなると......
メイン以外のスレッドに割り当てられるデフォルトのスタックサイズはメインのより小さいです.
ulimit での指定もメイン以外のスレッドには効きません.FreeBSD での具体的数値は
わかりませんが,Solaris では 1MB(32-bit) / 2MB(64-bit) がデフォルトです.
そして,dat の最大サイズが 512kB となると......

もちろん global / static 変数はマルチスレッドではマズいんで,apr_palloc() で
ヒープ領域に確保するようにした方がよさそうです.Apache 2.2 では ThreadStackSize で
スタックサイズを指定可能なんで,それで乗り切るって手もなくはないですが......

472 :root▲ ★ :2005/12/07(水) 00:13:51 ID:???0
>>471
気になりますか。

ぼちぼち、apr_palloc にしてみますか。
ちなみにそれで確保したやつって、なんか解放とかしなくていいのかしら。

473 :◆cZfSunOs.U :2005/12/07(水) 00:25:35 ID:jJ+aJrde0
>>472 malloc() だと明示的な解放が必要ですが,apr_palloc() ではプールの寿命が尽きた時点で自動解放されます.
例えばリクエストプール (r->pool) で確保すれば,リクエスト処理が完了した時点で自動解放されます.

474 :root▲ ★ :2005/12/07(水) 00:34:42 ID:???0 BE:1368353-###
>>473
了解です。安心していいってことですね。

475 :root▲ ★ :2005/12/07(水) 12:27:01 ID:???0 BE:3192757-###
【きりたんぽ】雪だるま作戦に思いを馳せながら雑談するスレッド Part28
http://aa5.2ch.net/test/read.cgi/nanmin/1133468879/739-740

739 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/12/07(水) 12:05:52 ?###
過去ログにいったやつが、うまく出ないみたい。< フロント版read.cgi

だめな例: 基本的にdat落ちしたやつ全部
http://live22x.2ch.net/test/read.cgi/dancesite/1115133136/

あとで、みてみるということで。

740 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/12/07(水) 12:24:56 ?###
>>739
なおした。
read.cgi ver 05.0.2.1 2005/12/07

ライブなdatじゃない場合は、通常と同じ方法でディスクを参照。

476 :◆cZfSunOs.U :2005/12/07(水) 13:01:22 ID:CyXQfn3E0
>>475 乙です.
----------------------------------------------------------------------
以前 worker MPM を試してみたら SIGBUS になってしまったことがありましたが,
http://aa5.2ch.net/test/read.cgi/nanmin/1118138260/278-279n
これは >>471 の要因でスタック領域からはみ出てしまってたのかも知れませんね.

477 :root▲ ★ :2005/12/07(水) 14:59:46 ID:???0
>>476
なるほど、ありえますね。

# worker MPMはSpeedyCGIがそのままでは動かないかもという話も。

478 :◆cZfSunOs.U :2005/12/07(水) 15:48:25 ID:CyXQfn3E0
>>477 そのあたりはこういうことで.
# これを受けての worker MPM 挑戦だったわけで......

http://aa5.2ch.net/test/read.cgi/nanmin/1118138260/147
>そういえば...... 今 SpeedyCGI は speedy プロセス呼び出しの形で使ってますか?
>mod_speedycgi だとマルチスレッド非対応ですが,speedy プロセス呼び出しなら無関係なんで
>マルチスレッド化も可能ではあるんですが......

479 :root▲ ★ :2005/12/07(水) 17:05:52 ID:???0 BE:2189546-###
>>478
そっか、そうでしたね。
ってことは、再チャレンジすることもありうるのか。

480 :root▲ ★ :2005/12/07(水) 17:06:28 ID:???0 BE:4104959-###
でも、再チャレンジする場合、read.cgi で使用している外部関数が、
全部MT-safeじゃないと、いまいちなわけか。

481 :◆cZfSunOs.U :2005/12/07(水) 21:48:37 ID:jJ+aJrde0
>>480 APR 関数は基本的に,内部では Unsafe な関数の使用を避け (MT-)Safe になるよう
配慮されているため,APR 関数を使っているのならおおかた大丈夫かと思います.
ただ,呼び出す関数が (MT-)Safe であっても,処理の流れなどに起因して
マルチスレッド環境で問題が起こることもあり得るので(今回出てきた
スタック上の巨大変数もしかり),その点が要注意ではありますが.

482 :◆cZfSunOs.U :2005/12/10(土) 02:12:29 ID:1jtGNzJ50
#include <pthread.h>
#include <stdio.h>
int main()
{
    size_t size;
    pthread_attr_t attr;
    pthread_attr_init(&attr);
    pthread_attr_getstacksize(&attr, &size);
    printf("%lu\n", (unsigned long)size);
    return 0;
}
----------------------------------------------------------------------
ってのを tiger (FreeBSD 5.3R) 上でやってみたら,libpthread / libthr ともに
65536 (64kB) だそうです.そりゃはみ出しますね......

483 :root▲ ★ :2005/12/10(土) 03:04:48 ID:???0 BE:2462393-###
>>482
なるほど、なるほど。

484 :root▲ ★ :2005/12/10(土) 18:48:40 ID:???0
/* datを読むバッファ領域を、apr_pallocで動的に確保する */
ch2->BigBuffer = apr_palloc(r->pool, SZ_BIGBUF);

にしたバージョンを、live22x2で試しました。
問題なさげ。

dso.2ch.netでも問題なければ、これで。

485 :root▲ ★ :2005/12/10(土) 18:57:27 ID:???0
>>484
read.cgi ver 05.0.2.2 2005/12/10

486 :root▲ ★ :2005/12/10(土) 19:20:11 ID:???0
ということで配布して20分ほど経ちましたが、
read.cgi が多い news19 / life7 / hobby あたりでも、問題なさげすね。

487 :動け動けウゴウゴ2ちゃんねる :2005/12/13(火) 23:39:10 ID:FqXxoMfA0
■定期>>373
http://qb5.2ch.net/test/read.cgi/operate/1134279544/

488 :動け動けウゴウゴ2ちゃんねる :2005/12/14(水) 16:49:28 ID:ph7PVQZB0
read.cの
#defineLINK_URL_MAXLEN256
これ。なんか大きすぎない?
普通200以上超えるURLは無いと思うんだが。

489 :動け動けウゴウゴ2ちゃんねる :2005/12/14(水) 16:53:26 ID:ph7PVQZB0
ミスorz
#define LINK_URL_MAXLEN 256
タブは無視されるのを忘れてたよママン

490 :root▲ ★ :2005/12/14(水) 19:12:23 ID:???0
>>488
ヒント: %エンコーディング

491 :root▲ ★ :2005/12/14(水) 19:14:38 ID:???0
で、今のソースもちと見てみましたが、
もっと大きな値になっているようです。

492 :489 :2005/12/15(木) 16:51:58 ID:7K9YjLFu0
>>490そうだな・・・CGIがあったよな・・・ぬるぽ
>>491手元にあるソースは狐の人が書き換える以前のものだからね・・・bbs.cgiスレも見たけどソースは非公開っぽいし。
公開すればもっと質の高い物になると思うよひろゆきタン

493 :動け動けウゴウゴ2ちゃんねる :2005/12/15(木) 21:53:19 ID:j3gv2dLj0
>>488
まれにAAでも使う
それより15個規制はテンプレ作るとき結構きついので可能な範囲で緩和して欲しい

494 :動け動けウゴウゴ2ちゃんねる :2005/12/17(土) 09:55:14 ID:1ubCo5sc0
>>493誤爆?

495 :動け動けウゴウゴ2ちゃんねる :2005/12/17(土) 10:57:14 ID:pYb4F0nD0
こんな
http://aa5.2ch.net/test/read.cgi/aasaloon/1131190000/

496 :動け動けウゴウゴ2ちゃんねる :2005/12/26(月) 01:22:01 ID:8tK54p4F0
>>410みたいに鯖移転前のスレは鯖移転だってことがわかるように書いたほうがいいんじゃないの
移転先で生きてるわけだし

これだと普通の過去スレと見分けがつかない

497 :動け動けウゴウゴ2ちゃんねる :2006/01/13(金) 21:06:08 ID:kVBuC36P0
>>2-のようにアンカーにハイフンがつきそのあとに数字がないと
アンカーそのものが無効になる不具合

498 :動け動けウゴウゴ2ちゃんねる :2006/01/13(金) 23:47:35 ID:kVBuC36P0
>>2-20でもダメか

499 :root▲ ★ :2006/01/14(土) 01:11:19 ID:???0
何と2ちゃんねるのbbs.cgiで公式にサポートされているのは、
つまり、書き込み時に dat 内にリンクとして埋め込まれるのは、

>>mmm

と、

>>mmm-nnn

の2パターンだけなのです。

bbs.cgi は、わざわざそのように書かれています。
つまり右側に数字がないのは、アンカーではないことになります。

昨年 bbs.cgi をきっちり読むまで、
実は私もこのことは知りませんでした。はい。

500 :動け動けウゴウゴ2ちゃんねる :2006/01/14(土) 21:01:58 ID:CQZR/2It0
read.cgi っていつまで test フォルダに入ってるの?

501 :root▲ ★ :2006/01/14(土) 22:06:47 ID:???0 BE:3284249-
>>500
たぶん、ずーーーっと。

あらゆるプログラムがtestだと思い込んでいるです。
datのフォーマット同様、もう変えるのは(りゃ。

502 :動け動けウゴウゴ2ちゃんねる :2006/01/14(土) 23:44:26 ID:BiVc6yby0
>>489
前は>>2-は>>2のアンカーとして機能してなかったっけ(ハイフンが黒になる)

503 :動け動けウゴウゴ2ちゃんねる :2006/01/15(日) 00:00:01 ID:EB9SH0eJ0
>>501
今日も実験、明日も、そしてあさっても(りゃ。むぎゅ。

一応書くと、アンカーは bbs.cgi だから。。

504 :root▲ ★ :2006/01/15(日) 02:29:16 ID:???0 BE:1095326-
>>502
んーむ。

いずれにせよこれは、bbs.cgi の問題ですね(>>503 のとおり)。
そっちにリンク入れておくです。

505 :動け動けウゴウゴ2ちゃんねる :2006/01/15(日) 12:30:16 ID:H9CLpF890
>>501
逆に言えば、新スキームを導入することができたら
配置を変えられるって考えていいかな?

板名.2ch.net/read.cgi/スレ/ とか

506 :名無しさんの助言 ◆JogenOuJ66 :2006/01/15(日) 15:36:04 ID:g76KPmMt0
>逆に言えば、新スキームを導入することができたら

めんどくさがって実行しない、に一票。

507 :505 :2006/01/15(日) 15:49:55 ID:H9CLpF890
>>506
現に困ってる人は(あまり)いないし、うrlがカコワルイ程度だからねー

個人的には、板移転時のキレイさを鑑みて、板毎virtual host化
してほしいな〜と。DNS更新もメンドくさくなくなったようですし
そこんところどうなんでしょう?

508 :掃除屋 ◆2ch..Ybe0Q :2006/01/15(日) 16:56:26 ID:EB9SH0eJ0
理想は、

板トップ
http://2ch.net/board/

スレは
http://2ch.net/board/key/

雪だるまサーバ+read.cgiにPATH_INFOを使えばいいんだ!
(かなり面倒くさいでしょうが

509 :名無しさんの助言 ◆JogenOuJ66 :2006/01/15(日) 18:27:44 ID:g76KPmMt0
>雪だるまサーバ+read.cgiにPATH_INFOを使えばいいんだ!
>(かなり面倒くさいでしょうが

めんどk(ry

510 :動け動けウゴウゴ2ちゃんねる :2006/01/17(火) 00:11:18 ID:mq5c9UJn0
見た目はともかくURL短くすればかなり資源の節約になるんでは

511 :動け動けウゴウゴ2ちゃんねる :2006/01/17(火) 09:03:28 ID:qirymNFZO
url短くするのに資源がいる

512 :動け動けウゴウゴ2ちゃんねる :2006/01/20(金) 02:39:22 ID:iyFLhQMN0
環境整備はあとからやったのでは意味がない

513 :動け動けウゴウゴ2ちゃんねる :2006/03/06(月) 15:39:41 ID:KkEPiJ5j0
ソースorファイル自体を公開。
まずはそれからだ。

514 :動け動けウゴウゴ2ちゃんねる :2006/03/18(土) 12:02:15 ID:tXfMJrBE0



515 :動け動けウゴウゴ2ちゃんねる :2006/03/19(日) 20:53:34 ID:Wnc0Rh3P0
一応
http://qb5.2ch.net/test/read.cgi/operate/1135009402/630

516 :動け動けウゴウゴ2ちゃんねる :2006/03/22(水) 05:03:02 ID:lgFid6IK0
そうそう、gz圧縮されてない9桁keyの過去ログを、read.cgiが
探せなくなってるんだよね。
全体的に。

517 :動け動けウゴウゴ2ちゃんねる :2006/03/23(木) 01:51:11 ID:/mfeNLaX0 BE:438048498-
9桁ってのがポイントなの

518 :root▲ ★ :2006/04/19(水) 02:43:35 ID:???0
read.cgi ver 05.0.2.6

live22x 系(雪だるま)で、read.cgi 動作ホストを部分的にするための準備工事。
具体的にはリンクに使用するホスト名を、live22xN.2ch.net のどれで指定しても、
live22x.2ch.net になるようにするコードを追加。

これで、mod_proxy で read.cgi 動作ホストを限定させることが可能になるはず。
こうすれば、全フロントに dat を rsync する必要がなくなるはず。

というもくろみで。

# offlaw.cgi も、mod_proxy で同じ設定をする必要あり。

519 :root▲ ★ :2006/04/19(水) 02:46:41 ID:???0 BE:1642436-#
で、なぜ >>518 の工事が必要になるかというと、

ProxyPass /test/read.cgi/ http://live22x2.2ch.net/test/read.cgi/
ProxyPassReverse /test/read.cgi/ http://live22x2.2ch.net/test/read.cgi/

といった指定をして、live22x2 に read.cgi を集めようとした場合、
read.cgi に渡されるホスト名が live22x2.2ch.net になってしまい、
上のほうの

■掲示板に戻る■ 全部 1- 最新50

のリンクに入るホスト名も、そのままだと live22x2 になってしまうため。

520 :root▲ ★ :2006/04/19(水) 02:51:38 ID:???0 BE:4925096-#
…というか、ここにホスト名って、ほんとは要らない、、、のかな。

ま、いっか。
今は考えないでおこうっと。

おふろ入ってきます。

521 :root▲ ★ :2006/04/19(水) 03:02:38 ID:???0 BE:3830876-#
あとは、rsync の仕組みを変える(多段化)とかかなぁ。

過去ログをみつけるところが問題なわけだから。

284KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30