CJ Club TOP/FAQ/tripod(海外/国内で使えないCGIがある!


疑問ねこ Q/ tripod(海外/国内)で使えないCGIがあるのですが

ねこくん A/ おそらくサーバの仕様。使いたい場合は下記参照▽

    設定ファイルを使い、外部ファイルでCGIの設定を行う場合 (set.cgi に設定があるCGI) の場合、うまく動かないようだ。
    ので、動かす方法を伝授しよう。

    A-1) require"$set[$no]"; の記述を探す

      どうやら、これが原因らしい。まず、この記述を探してくれ。比較的CGIの上部にある。
      それを次のように書き換えよう。

        $SetUpFile="$SET[$no]"; require"$SetUpFile";

      これで動くようになるようだ(pulpoさんのサイト参考)。それでも動かない場合は以下も試してみてくれ。

    B-1) まず、設定ファイル(初期ファイル名: set.cgi)の設定内容を直接CGIに移す

      設定ファイル内の設定をメインのCGIの(set.cgi以外の***.cgi とあるファイル)方に移す。
      移す場所は require './jcode.pl'; などの記述の下でOK。

    B-2) 次にいらない箇所を消す

      次にいらない設定を消す。上部の方にある

        #--- 設定ファイル -------------*

        # 同じようにいくつでも増やせます。
        # [ ]内の数字を使いCGIにアクセスするとその設定ファイルで動作します。
        # $set[12] の設定ファイルを使う場合: http://www.xxx.com/cgi-bin/votec.cgi?no=12
        $set[0]="./set.cgi";
        $set[1]="./set1.cgi";
         :

      等はいらない(禁止文字列設定の直前くらいまで)。また、それよりもう少し下にある

        if($set[$no]){unless(-e $set[$no]){&er_('設定ファイルが無いです!');}else{require"$set[$no]";}}
        else{&er_('設定ファイルがCGIに設定されてません!');}

      もいらない。むしろこれは削除しないと動かない。

    上記の改造をすればおそらくtripod(海外)でも利用可能になるだろう。
    しかし、マルチ設定ができなくなるので複数設置の際は一つ一つ設置してくれ。
    また、国内のtripodでもCGIが利用できるようになったが、同じシステムのためか利用できない。
    この場合も同じ対処法で対処してくれ。

    C-1) 使えない関数への対処

      あと、tripodでは使えない関数もあるようだ。chmod のようなよく使われる関数も利用できない。
      それらがあるとサーバエラーになるので削除するかコメントアウト(行頭に半角の #)を入れて対処してほしい。

      例:
      chmod(0666,"$xxxxx");
       ↓
      #chmod(0666,"$xxxxx");


BACK