アプリ版:「スタンプのみでお礼する」機能のリリースについて

┬ cgi_script
│   └***.cgi

└ access_g
    └11111
      └22222
        └***.cgi

今まで、cgi_scriptフォルダの直下にあるcgiファイルの一番上の行は
#!/usr/local/bin/perl
できちんと動作していました。

今は、そのcgi_scriptフォルダと同じところにあるaccess_gフォルダの中にある、
11111フォルダの下の2222フォルダの下にあるcgiファイルを実行させたいのですが、
#!/usr/local/bin/perl
をどのように変更していいかわからなくなってしまいました。

動作させたいcgiファイルはcgi_scriptフォルダの中に入れたところきちんと動作したので、
動作上の問題はないと思われます。

どうぞよろしくお願いいたします。

A 回答 (8件)

それは変更する必要ないですよ。


また、動かない理由としてパーミッション設定をフォルダにもきちんと設定しているでしょうか?
CGIによってはフォルダのパーミッションをすべて「777」にしないと動かない物もあります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>それは変更する必要ないですよ。

変えなくてもいいんですか?
これが原因だとばかり思っていました。

>また、動かない理由としてパーミッション設定をフォルダにもきちんと設定しているでしょうか?


この場合変更するフォルダというのは「access_g」でいいのでしょうか?
それとも「22222」のフォルダですか?
access_g・11111・22222すべて「777」にしてみましたが、動作しませんでした。

ただ不思議?なのが、1.cgiファイルでフォームに書き込みをして、2.cgiでそのデータを表示&ログファイルに書き込み、という動作をしているのですが、2.cgiでデータの表示はできるのですが、ログファイルに書き込みだけができません。
ただcgi_script内で行うときちんとログファイルに書き込まれました。

お礼日時:2002/11/19 16:10

qwer021です、まだ動作しないでしょうか?


パスでは無いようですね、私がCGIでよく使っているデバックですが
宜しければ お使い下さい。

使い方
&debug("inp_form mode=$in{'mode'} pwk=$cpwk");
関数
sub debug {
open(OUT, ">> con_deb.cgi");
print OUT "$_[0]\n";
close(OUT);
}

つまらない関数ですが 私はデバックの時これをやばそうな所に
一行おきに入れてテストしたりしています。

??? open (FH,">access.log");
         >a の間にスペースなんて関係ないですよね。

私の経験ですが CGIでソースを2~3行変えるだけで動作しなくなることが
多々ありました もう一度動くソースから少しずつ変更した方が早いかも知れませんね。
がんばって下さい。
    • good
    • 0
この回答へのお礼

大分お返事遅れてしまい申しわけありません。

やはりどうしても解消しないようですので、きちんと動くフォルダに入れて様子をみてみることにしました。
ファイルの管理が面倒で仕方ないんですけど…。

ありがとうございました。

お礼日時:2002/11/28 09:10

よくわからない現象ですね、、、。



試しに
open (FH,">access.log") or die $!;
としてみてはどうでしょう?
これでエラーが発生すればファイルのオープンに失敗しているので
エラーログを見て解析すれば解決すると思います。

エラーが発生しなかったらファイルオープンに成功しているので、、、

どういう事でしょう、、、。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

open (FH,">access.log");
@filew="$buffer<BR>\n";
print FH @filew;
close(FH);

  ↓↓↓

open (FH,">access.log") or die $!;

として実行しましたが、何もエラーは出ていないようです。

うーん、何でしょう??

お礼日時:2002/11/20 09:09

こんにちは 皆さんが書かれている通りパスが悪いのでは?



open (FH,">./access.log");

./が必要ではないでしょうか?

変更する前に access.logが何処かに書かれていないでしょうか?
自信はぜんぜん有りません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

./をつけたしてみましたが、やはりダメでした。
ただcgi_script内では./をつけなくても動くので、これでも動くのかな?と思ってしまっていたのですが。。。

ありがとうございました。

お礼日時:2002/11/19 16:56

もしかして、サーバーの設定でcgi_script直下でしかcgiを許可していないのかも知れません。

サーバー管理者に問い合わせてみては如何でしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>サーバーの設定でcgi_script直下でしかcgiを許可していないのかも知れません。サーバー管理者に問い合わせてみては如何でしょう?

会社内のサーバーですが、そのような設定をしたおぼえもないし、きいたこともないのですが…。
でも念のためにきいてみます。
もしかしたら知らないうちに設定されてるかもしれないので。

ありがとうございました。

お礼日時:2002/11/19 16:53

No1です。


No3の方がいっている通りログを置く場所のパスが間違っていないでしょうか?
>2.cgiでデータの表示はできるのですが、ログファイルに書き込みだけができません。
表示しているということは書き込みがされているのでは?
じゃなくて、確認は出来るけどその後のログに書き込まないということかな?
だったら「2.cgi」のログファイルの場所の指定が間違っているかと…
「2.cgi」を開いて「log.dat」(かな?)を検索してみましょう。もしかすると少しずれているのかも。../の数が1個多いとか、少ないとかね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

#3の方のところにもかいたのですが、
22222フォルダの中に
・access.cgi
・access.log
と両方あります。

ですのでパスが間違っていることはないと思うのですが…。

よろしくお願いします。

お礼日時:2002/11/19 16:34

> データの表示はできるのですが、ログファイルに書き込みだけができません


ログファイルまでのパスが間違っているとか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

ログファイルは同じ22222フォルダの中に入れてあるので間違いないとおもうのですが…。

ちなみにこんな感じになってます。

open (FH,">access.log");
@filew=$value;
print FH @filew;
close(FH);

よろしくお願いします。

お礼日時:2002/11/19 16:25

/usr/local/bin/perlだと絶対パス指定なので、このままで問題ありません。

../../../usr/local/bin/perlのような相対パス指定ですとマズいですが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

現象、というか現状は#1の方のところに書いた通りです。
どのようにしたらきちんと動作しますでしょうか?

よろしくお願いいたします。

お礼日時:2002/11/19 16:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!