このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

CGIがうまくうごきません

発言者:miya
( Date Tuesday, May 14, 1996 14:33:05 )


質問ばかりですみません。
ファイルメーカーをスクリプトから操作するのはほぼ出来るように
なったのですが、実は、CGIとしてうまく動いてくれていないのです。しくしく。
いろいろサンプルを試してみましたが、すべて動きません。

スクリプトに構文チェックだけかけてをHTMLの中で***.scriptで呼ぶと動くの
ですが…。
この場合、on<<event....は使っていません。
***.scriptで動いたものをそのままアプリケーションとして保存し
それを動かそうとすると
  post_argsが定義されていません
というしごくごもっともな指摘を受けるのですが、それではとon<<event....
に続く一連のスクリプトを書き加えるとNetscapeに実行エラーがでてしまいます。
MacHTTPの方には、
Getting reply string (Requested descriptor was not found (reply))
が出ています。
もう心当りもなくなってしまいました。
何か、心当りのある方はいらっしゃいませんでしょうか?
機種はLC630、システムは7.5、MacHTTPは2.0を使っています。
Netscapeは1.1です。
イーサー直結で社外には非公開のサーバーとして使用することになっています。
ファイヤーウォールが設定されています。

田中求之 さんからのコメント
( Tuesday, May 14, 1996 17:11:41 )

まず、MacHTTP は 2.2 が最新版ですので、これに切り替えてください。
(アップグレードは無料です)

.script でセーブしたスクリプトのファイルを直接呼び出す方法は、現在では
使わないというのが一般的なガイドラインとなっています(バックワード・コン
パチのために機能は残っていますが)。サーバーの速度の低下が著しい、パラ
メーターに制限が加わるなど、何も良いことがありません。post_args を
使った処理も、もちろん不可能です。

現在公開されている資料で、この .script の使用方法を解説したものは
ないはずなのですが?? もし手元にある解説書が、CGI のスクリプトを
.script のファイルとして実行するように書いて合ったなら、それは
とんでもなく古い(約2年)ものだとおもいますので、注意してください。


さて、CGI を applet で動かすという「正しい」方法を用いた場合、
CGI で動かすスクリプトは、サーバー( MacHTTP や webSTAR )から
AppleEvent で呼び出しを受けて始めて処理を行いますので、この AppleEvent
を受け取るハンドラーが絶対に必要ということになります。

ですから、Applet の基本的な形は、

on ヌevent WWWスsdocネ ....

    --- ここに CGI の処理が入る

end ヌevent WWWスsdocネ

というスクリプトを書かなければなりません。

これ以上の詳しいことは、以下のページの Online Lesson が役に立つと思います。

→  Online Lesson

miya さんからのコメント
( Wednesday, May 15, 1996 12:36:45 )

おさわがせしました。
動くようになったようです。
MacHTTPのバージョンをあげて、あれこれいじっているうちに動くように
なりました。
ありがとうございました。
これまで、スクリプト編集プログラムのメニューで
別名で保存を選びアプリケーションとして保存していたのですが
はっと気がついて、
実行専用で保存から保存するようにしたことも一因なんでしょうか…