こんばんは。おせわになってます。
さて突然ですが、なぜかoptionの変更が反映されなくなってしまいました。
optionの変更をして -> okにするといったんは変更されるのですが、
一度終了させて、再実行すると変更前の状態に戻ってしまいます。
レジストリも書き換えられていません。
どうか、ヒントをお願いします。
みかんさん、
QUERY_STRING は全部ちゃんと伝わるとは限らない、というようなことが少し前の本には書いてあったりしますね。
環境変数として渡されるので、CGIプロセスの環境領域の大きさとかによって制限を受けるからかな、と思っています。
Windows95のDOSプロンプトのメモリ設定では環境領域の初期値は自動以外の最大は4096バイトのようですがこれが関係するかどうかわかりません。
その後で httpd でどう扱うかという制限がでてきますが、AnHTTPd では、4096バイト以上は捨ててしまいます。
標準入力から渡す方では、リクエストの body に入るわけですから、一応制限はないように思います。
httpd での扱いもほぼそうなっていると思います。AnHTTPd の場合は、ISAPI以外では一時ファイルに入れるのでそれなりのファイル読み書きが必要になります。
あと、AnHTTPd では、64kB以下が無難です。
「それ以前に」 という意味はちょっとわかりません。 一応、前のやりとりは関係しないと思います。
多分、規格としての上限はなくて OS と httpd でどうなるか決まる、という話じゃないかと思います。
調べるとすれば、CGI/1.1 をキーワードにされるといいと思います。何かわかったら教えてください。
よく、掲示板等のスクリプトで
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});や
$buffer = $ENV{'QUERY_STRING'};等とかかれていますが、
それ以前に
ポストされるデータが何十メガあってもサーバ(HTTPD)は落ちないものでしょうか?
こういった機構の事が知りたいのですが、身近に知ってる人がいないので
調べるきっかけがつかめません。本等を紹介していただけるとうれしいです。
WWWBBS(Ver1.1)については、私は、sub list の中の
chdir("./msg/");
$ls = `ls`;
@ls = split(/\s+/,$ls);
を、
opendir(DIR, "./msg");
@ls = grep { !/^\./ } readdir(DIR);
closedir(DIR);
として、さらに、
if (!open(IN,$file)) { push(@ERR,$file); next; }
を
if (!open(IN,"./msg/$file")) { push(@ERR,$file); next; }
とすることで、やってみました。
perl(.exe), perlIS ともこれでOKのようです。
今晩は、田中さん。御丁寧なRES有り難うございました。
WindowsでUNIXのコマンドを実行させる事が出来るソフトウェアもあるの
ですね。作者の皆さんのパワーには驚くばかりです。早速GNU-win32を
ダウンロードしようと思いましたが、容量がかなりありそうなのでテクノプレス
発行のUNIX for win32がを購入しようかと思います。
wwwbbsについては、田中さんのご指示通りlsコマンドを書き換えて試し
てみます。
有り難うございました。
ゆうじさん、
DocumentRootが変わるのは、perl.exe で chdir( ) を含むスクリプト(wwwbbsなど)を動かした後 use perlIS をチェックするなど Options/General を変更した場合、でした。
バグですので、遅くとも明日までに修正版を出します。
wwwbbs については、chdir( ) の他 $ls = `ls` を使っているので、ls など UNIXコマンドをインストールしていないと、perl.exe でもうまく表示できません。
私は GNU-Win32 をインストールしてあったので、そのまま動いたようです。
perlIS で使うには、chdir( ) と ls の部分を、opendir( ), readdir( ) などで書き換えれば表示もうまくできるようになります。
上のバグを直してから詳細は書きます。
出口さん
おっしゃる通りだと思います。
新機能の方が面白いということもありますが。バグは皆さんのご指摘でフィックスするということが多いですね。
こういうソフトでは大体そうなんでしょうが、そろそろ全面書き換えしたくなってきました(おおよそ各機能についてわかってきたので)。
パフォーマンスをあげるにはそれをしないと難しそうです。
ゆうじさん、
wwwbbs で、use perlIS の場合に記事の表示ができずに DocumentRoot が変更されてしまうのを私も確認しました。
use perlIS のチェックをはずして perl.exe なら正常に動作/表示されるようです。
wwwbbsの中身によっては perlIS では無理ということになるかもしれませんが私も調べてみます。
DocumentRoot の書き換えは起こらないように httpd を修正します。
inu さん、
DNSを使っているネットワークで、もちろん使えます。
http://gbd.cache.waseda.ac.jp/ で、133.9.190.*** にアクセスしないとしたら、そのブラウザが動いているPCでDNSが有効になっていない(かgbd.cache.... がDNSサーバに登録されていない)と思われます。
DNSがそのPCではたらいていないと、DOSプロンプトで ping gbd.cache.waseda.ac.jp として、応答が返ってこないと思います。
中田さん
確かに新しい機能を盛り込むというのは,バグも
増えるかもしれないですね.Windows95で動くhttpdで,
これだけ多機能なものはないと思うので,安定に
動くことや処理速度の向上を目指した方がいいのかも.
偉そうなことを書いてしまいました.
でも,きちんとした市販のソフトが最適化されていない
ように感じることが多いです.最適化をうまく行えば
それほどメモリもCPUパワーも必要としないように
思えるのですが.
はじめまして、おはようございます。
httpdを自宅のWin95マシンにインストールして使用させて頂きました。
いやー、良いですねー。CGIが動くのにはびっくりしました。minibbsは完全
に動作しますね!
ただ、wwwbbsはなぜかメッセージの参照が出来ませんでした。PerlIS.dll
ではフォルダの移動が出来ないとの事でしたので、Perl.exeも試してみた
のですが、書き込みをしてメッセージを保存しておくフォルダ、msg、treeに
メッセージが入るのですが表示が出来ない様です。しかもブラウザで
リロードかなにかを何回も行うと、httpdのオプションのルートの設定に(私の
場合E:\WWWです)wwwbbsで使用されるフォルダmsgまでのパスが通さ
れてしまいました(E:\WWWE:\WWW\myhp\wwwbbs\msgと言う感じでした
)。初心者なものですからスクリプトをみてもチンプンカンプンで問題解決
には至りませんでしたが色々試してみます。
有り難うございました。これからも頑張って下さい!
大学内でDNSを立ち上げたのですが、このwebserver
では使用できますか?
IP 133.9.190.***
domain gbd.cache.waseda.ac.jp
IPをURLに打ち込むと見れるのですが、domainでは
みることができません。多分Proxyのところをいじれば
いいと思うのですが、わかりません。よろしくお願いします。
はたさん、どうも。何かありましたらまたどうぞ。
ISAPIは乞うご期待。
とむねこさん、
そうですね。今のところ、use perlIS では except POST をチェックしておいた方がよさそうです。
PerlIS の問題か、httpd側のISAPIの問題か、を調べています。
Netscape 3.03 は私も使っていましたが、ローカルのPOSTでは問題があるようです。
ただ、ローカルアクセスの時だけなので、IEの方のリセットも含めて、いろいろやってみます。
FAT32 の問題ではないとは思うのですが。。。
ひでさん、
ぜひ PerlIS をインストールしてやってみてください。
PPP逆流でもSSIなどは速くなった方がいいでしょうし。
出口さん、どうもありがとうございます。
大きな機能はもうネタ切れです。
キャッシュは別として現在の各機能の充実を考えています。
中田さん、
大きいフォントの件、対応ありがとうございました。会社の人に確認してもらいOKでした。
ISAPI対応も今後が楽しみです。また何か気付きましたら報告します。
PerlIs.dll対応の新バージョン試してみました。GETがすごく速くなったですね。
しかしPOST時にはPerlのタスクが起動されなかったり、かなり待たされて起動することがあるようです。
それとIEで出るサーバからリセットされた、というメッセージのエラーに相当するエラーがネスケ3.03でも出ました。
ダイヤルアップしてるときは少ないですが、ローカルだけでreadme.htmlからのテストCGIを実行するとでました。
もしかしたら私の環境のせいかも知れませんが報告までに(Win95のFAT32になりました)
中田さん ありがとうございます。
use perlIS のチェックをはずしてテストしましたらうまく作動しました。
素人がやたらといじらないほうが良いですね いい教訓になりました。
とりあえず 今は、CGIの作動確認と逆PPPに使います
わからないことがありましたらお知恵拝借させてください。
新しいANHTTPDでPerlIS.DLLを試してみました.
確かにSSIは速いですね.CGIの方もかなり速く
なっている.バージョンが1.0になったときには
どのような機能が付くのか楽しみです.
リアルサーバとhttpサーバをいままでUNIX上で運営
していたのですが、95用PNサーバとこの95用httpサーバの組み合わせ
でもうまくいきました。
ひでさん、
errorcode=1157 は、指定のDLLがみあたらない、ということですので、
Options/General で use perlIS がチェックしてあって、perlIS がインストールされていない
ということではないかと思います。
とりあえず、 use perlIS のチェックをはずしてみてください。
そうではなくて use perlIS のチェックがなくてこのエラーが出るとすればこちらのミスですので、その旨お知らせください。
また、perlIS をインストールしてあってこのエラーが出たのでしたら perlIS のバージョンをお知らせください。
use perlIS をチェックして ISAPI で perl を動かす場合は、perlIS.dll が必要です。
perlIS.dll (Perl for ISAPI) は Perl for Win32 と同じところにあって、ファイル名は、Intel用最新版は PlISi313.exe です。
Perl for Win32 も使いますので、Pw32i313.exe がインストールしてある必要があります。
Perl for Win32 と同じバージョンの Perl for ISAPI を旧バージョンのftpサイト からダウンロードしてください。
こんばんわ 始めまして ひでさんと申します
質問があります
以前IE3.02のとき導入したときは難なくCGIをローカルでチェックできたのですが
今回IE4.0を導入して0.9 beta 5を今日DLして導入しましたところ
ISAPI Error
Internal Error. See "errors.log".
errors.logは以下のとおりです
Tue Nov 25 00:25:08 1997 LoadLibraryEx("C:\Perl\bin\PerlIS.dll") failed with errorcode = 1157
とエラーが出てしまい初心者の私にはちょっと分かりません
お知恵をお借りしたく投稿しました。
よろしくお願いします
中田さん
以前でていたIEでのCGIでのカウンタの問題と背景が変わらない問題が最新版で解決されて
いました。ありがとうございます。
はにびさん、
そういえば 「(URL)を開けません。サーバの接続はリセットされました。」 というメッセージはIE3でもみたことがあるような気がします。
再現できるかどうかやってみます。
すみません,先の投稿に書き忘れましたが。
「不正な処理・・・・」は出ません。
単にサーバリセット・・が出るだけです。
ちなみに使用しているスクリプトは,
funnyさんの方から頂きましたシンプル掲示板とシンプルチャットです。
中田さんさっそくのコメントありがとうございます。
おっしゃる通り,書き込む時に発生します。>サーバリセット
ページそのものは表示されますが・・。
http://「IP」/~honeybee/board/board.cgiを開けません。サーバの接続はリセットされました。
と言われちゃいます。
ネスケだと普通に書き込めるのですが。
IE3&IE4で時々出るサーバリセットはIE独特の現象で、
通常のインターネットブラウズ時にも結構出るので気にしないでいいと思います。
余り詳しくはないですが、なにかのエラーチェックが厳しいのかも?
中田さんどうもありがとうございます。
ご指摘のようにしたら動きました。
ありがとうございます。
http://www2r.biglobe.ne.jp/~rescue/
から来ました。ローカルでCGIのテストができるそうなので
これからやってみようと思います。お世話になりました。
はにびさん、
サーバリセットというのは、「不正な処理をした」とかで終了してしまうという意味でしょうか?
また CGI で書き込むときに発生すると思っていいでしょうか?
私は IE4の方はまだインストールはしていないので検証はできませんが、特定のCGIの書き込みで、ということなら調べようはあるかもしれません。
小林さん、
もし NT で jperl を使っているようでしたら、jperlでなく perl にしてみてください。
さらに perl をフルパスで、C:\perl\bin\perl.exe にした方がいいかもしれません。
(理由については、ここのページを stdout などで検索してみてください。)
もし Win95 ならちょっとわかりません。
cgi/cgisample.htmlも動かないかどうかお知らせください。
はじめまして。プライベートサーバをしてみようとAN-HTTPDを使用させていただいています。 CGIはまったくの初心者ですが。(^^; いろいろ試してみて,当方の環境ではIE4だとサーバリセットが続発するのですが, どういう原因が考えられるのでしょうか? ネスケではきちんと書き込みもできるのですが。 環境は,マシンはメビウス, AN-httpD ver0.9 beta4cにPerl5.003 build313です。 よろしくお願いします。
初めまして小林と言います、初心者です。
CGIを試そうとしてCGIを指定するとError 500
CGI Error - size of stdout is NULLと表示されてしまいます。
実際に動いているのでも起こります。
どうしたらいいのでしょうか?教えてください。
向井さん、どうも。
98でも別に問題なく動くはずです。
窓の杜の「未評価」は、まだ評価が終了していない、ということだと思います。
ちゃんと評価作業をするというところがいいですね。 ただ、掲載の申し出から評価終了まで結構時間がかかるようです。
ソフトの数と評価スタッフの数からすれば無理はないと思いますけど。
出口さん、情報どうもありがとうございます。
私もようやく Communicator を入れたので、確かめてみます。
三浦さんの話の様子からすると、 Communicator の (内蔵の)FTP機能のところの問題のような気がします。
出口さん、ありがとうございます。
>Netscape Communicatorに原因があるようです.
ということで、IE3.01でやってみたらうまくいきました。(proxy使用)
当方の環境では、Netscape Communicatorでもダイレクト(proxy使用しない)でやると正常で、proxy使用だと
100%この現象が出るので proxy が悪いのかなと思ってしまいました。
Netscape Communicatorで proxyを使うとこの現象が出るのでしょうか?
後で他のproxyを使ってやってみます。
今日は。
これまでOmniHTTPD1.01を使っていたのですが、#execが使え無かったので不自由してました。
それで試しにAN HTTPdをインストールして見ましたが、#execが使えるし.htmlでもSSIが
使えたりして便利ですね。それに心なしか軽いような気がします。
これは実際にやって見れば良いと思いますが、PC9821Cr13とかでも動作するのでしょうか?
P.S.
窓の杜では未評価になっていたのですが、まだ、バージョンが0.台だからなんでしょうか?
中田さん,三浦さん
確かfjで見たと思うのですが,Netscape Communicatorでファイルを
ダウンロードすると拡張子がexeになってしまうようです.これは,
Netscape Communicatorに原因があるようです.
学生が持ってきたファイルがexeの拡張子なので実行しようとしても
実行できず,おかしいなと思って聞いたらNetscape Communicatorで
ダウンロードしたといっていました.exeからlzhに変えたら解凍
できました.
>ftp://host/pub/path/filename.zip
>のとき、proxy 使用の場合、filename.exe としてGETされる、ということでしょうか?
はい、そのようになります。
ちなみに、保存した filename.exe を filename.zip に書き換えると解凍できるので、
ファイル自体は正常に送られてきているようです。
Refererの件ありがとうございます。
うまくセットする事が出来ました。
いま環境変数等を自由に編集してCGIテストに使えるような物を作ろうと考えてます。
これで関門を通り向けた感じです。
>他のリクエストヘッダは、よく出てくるのは、
と、付けて下さったので、どこの部分を調べれば良いか分かり助かりました。
三浦さん
了解しました。
確かに HTTP の proxy では、Content-type: は素通りさせるはずなので、ちょっと変かな、と思ってはいました。
さて FTP の proxy ですが、たとえば URL が
ftp://host/pub/path/filename.zip
のとき、proxy 使用の場合、filename.exe としてGETされる、ということでしょうか?
だとするとおかしいので、調べて改善します。
FTPの proxy は、 host の FTPポートにつないだ後、binary(image) として、cd /pub/path のあと get filename.zip としているはずなのですが、どこかおかしいのかもしれません。
みかんさん、
telnet でセットするには、
GET ****.cgi HTTP/1.0
Referer: http://host/some/path
のように、Referer: ヘッダをつけます。ブラウザだとこれをもちろんつけてくれているわけです。
CGIがらみでは他に
User-Agent: (HTTP_USER_AGENT)
もあります。
他のリクエストヘッダは、よく出てくるのは、
If-Modified-Since:, Content-Type:, Accept:, Pragma:, Cookie:, Authorization:, Content-Length:
くらいでしょうか。
三浦です。
さきほどの「MIMEの設定で拡張子が・・・。」というのは私の勘違いでした。m(_ _)m
どうもダウンロード時に拡張子が .exe になるのは FTPの場合だけでした。
最初は FTP でダウンロードしていて .exe にしかならなかったので、ブラウザの設定とか AN HTTPD のMIME設定とかを
いじっていたんですが、「直った」と思った時は、HTTP でダウンロードしていた様です。
MIME設定とは関係ないようなので、「デフォルトのMIME設定の追加」の要望は撤回します。申し訳ありません。m(_ _)m
ただ、proxy 使用でFTPでダウンロードすると .zip .lzh .txt 全て .exe になります。これは改善出来るでしょうか。
A.Musha/knuさんありがとうございます。
早速、設定変更しておきます。
ということで、
.zip -> application/x-zip-compressed
.lzh -> application/octet-stream
でお願いします。 >中田さん
御無沙汰しておりますknuです。
lzhは世界的な標準ではないためか、正式なMIMEタイプは割り当てられていません。通常application/octet-streamとして設定します。
MIMEタイプですが、
.zip についてはおっしゃる通り application/x-zip-compressedでいいと思います。
.lzh の方は、私もわかりません。現状では、application/x-lzh-compressed として
いますが、適当につけたので間違っていると思います。
自分でもちょっと調べてみますが、
知っている方がいれば教えてもらえませんか? >ALL
ANHTTPDにtelnetでGET ***.cgi HTTP/1.0として
環境変数を見てみました。
ここで、ブラウザが値を送るという
HTTP_REFERERに情報を入れて上記の方法で環境変数中に格納された値をみたいのですが
どうやって値をセットするのでしょうか?
教えて下さい。
三浦さん、
それぞれ MIMEタイプはどのようにしておけばいいでしょうか?
.zip は application/x-zip-compressed かな、と思いますが、.lzh の方は?
中田さん、こんにちは。
一つ要望があります。
NN4.04 を使っているのですが、proxy を使用していると .zip や .lzh をダウンロードしようとすると、
save location でファイルの拡張子が.exeになってしまいます。
これは、AN HTTPD の MIME の設定に .zip .lzh を加えることで回避できるのですが、出来れば
デフォルトのMIME設定に .zip .lzh を加えて欲しいです。
よろしくお願いします。
とむねこさん了解です。
0.9 beta 5 でなんとか入るようにしますね。(前に はた さんから言われた大きいフォントでの右側の欠けも)
サーバソフトを動かすPCは画面は 640x480 でいいということでしょうかね。
0.9 beta 5 では、PerlIS を使って SSI は非常に高速化できました。 CGI の方がそれほどでもないので、もうちょっと手を入れようと思っています。
なお、0.9 beta 3, 4 では、SSIのキャッシュの仕方に問題があるようです。これも beta 5 で修正して出します。
Options→Generalの画面が640x480では下にはみ出てしまうようになってしましました。
タスクバーを隠す設定にしてるのでなんとか押せるのですが、そのうちにでも対応していただければ嬉しいかななんて思っています。
最新の0.9beta4cにしています。
中田さん、どうもさっそくのレスありがとうございました!!
結局、別のチャットに収まってしまいまして、失礼いたしましたですぅー^^;
今後ともよろしくお願いいたしますー
みこしまさん、
現在のところ、NPHのCGI以外では Content-Type にセミコロン以下を追加することはできません。
できた方がよさそうですね。
htmlファイルへのリクエストに対して'Content-Type: text/html; charset=x-sjis'を
レスポンスヘッダに返したいのですが、方法はありますか?
夢日さん、
そうですね。 \usr\bin\tail.exe があるのならそれでいくのでしょうが。。。
初めて投稿させていただきます。
anhttpdを使わせていただいておりまーす夢日というものです。
で、フレーム式チャットをこさえておる途中なのですが、画面表示は
ちゃんとできましても、ログが表示できないのです。
テキストデータにはちゃんと発言がはいってますので、どうなっているのかなぁ
と・・・
open(DT,"/usr/bin/tail -r $datafile |") || die $!;
foreach $i(1..$text) {
$data_line =<DT>;
print "$data_line<BR>";
}
close(DT);
ここらへんの、tailあたりがあやしいかなぁ・・・とおもってしまうのですが、
すこしばかりのアドバイスをお願いします。
あれあれ?
最後の”1”は本当はないです。
どうも、チャチャです。
中田さん、ありがとうございました。無事アクセスできました。
これで先に進むことができます。しかし、ああいう設定もあったのですね。
全然気がつきませんでした。
これからもよろしくお願いいたします。
ではでは
チャチャさん、
IE3.02でしたら、オプション の 接続 で、「必要時にインターネットに接続する」のチェックをはずしてあるでしょうか?
鵬(ほう)さん、
これで "1"のあと次の行が改行無しにつながってしまうことがある、ということでしょうか?
だとすると、私はわかりません。
もう少しでたらめにつながるのなら考えようはあるのかもしれませんが。
初めて書き込み致します。
今回AN HTTPをインストールしましたが、IE3.02を使うと、どうやってもローカルホストにアクセスできません。TCP/IPでアドレスを指定したり、hosts.samをhostsにリネームしても見つからないと言われてしまいます。
ただ、IEだとだめなのですが、Netscape Communicator 4.03だと、認識します。なにか良い解決方法があればご教授をお願いいたします。
ファイルから値を読み出してその値を書き換えて、またファイルに保存したいのですが、更新し終わったファイルの改行がうまくいきません。
ある行は改行されてある行は改行されてないのです。
if($winner eq @names[$j])
{
@point[$j] += $addpoint;
open(fp,">$log_file");
for( $k=1; $k<$number; $k++ )
{
print fp "@names[$k],@madd[$k],@passes[$k],@point[$k],@win[$k],@lose[$k],1\n";
}
close(fp);
}
となっております。
これってバグじゃないですよね。
田中さん
SSIなどを使わないと無理ですか・・・。
どうもありがとうございました。
NISHII(西井)さん、フォローありがとうございます。
0.9 beta 5 は ISAPI対応にする予定です。
ただ、PerlIS.DLL のソースが見当たらないので、ちょっと手探りの感じで進めています。
どなたか、ソースのありかをご存じありませんか?(Perl for Win32 のソースには入っていません)
あ さん、どうも。
Perl はバージョンアップが速いですね。
Jperl も対応が速いですが、まだ 312用のようです。(違うかな?今日は確認していない)
はたさん、どうもありがとうございます。
大きいフォントの場合の欠けについてはできるだけ早く対処します。
ここのところ ISAPI対応のための機能追加をやっています。ついでに手をいれようと思います。
中田様:
お世話になります、西井です。0.9 beta4c は当方の環境で快適に動いております。
先日こちらで ie3 の一時ファイル設定について触れられておりましたが、
ie4 でも同様の設定項目が設けられております。
(表示−インターネットオプションから設定が行えます)
# また、青野さんの指摘されていた壁紙の転送がされない問題については、当方でも
# 起こっております。ie3/4 での F5 キーによる更新を行うと出なくなります。
10/31 Joeさんと全く同じ問題が出ました。(Perl今は313になっています。)
でもここを見てすぐに解決しました。ありがとうございました。
はじめまして、いつもhttpdを使用させてもらっています。
早速報告です。会社で簡単に設定が出来るWWWサーバを探している人が
いたので、httpdを教えてあげました(^^)
その方から、「OptionsのAccessControlの画面右下がやや欠けます」と
言われました。どうもフォントサイズに大きいフォントを使用しいてるため
だからみたいです。私も試してみたら確かに欠けていました。
また他にもGeneralが右側が欠けていました。
特に使用上に不都合があるわけではないですが、頭の片隅にでも
入れておいて下さい。では長々と失礼しました。
#使用(確認)バージョンは 0.9 beta 4b 、 4c です
いっつさん、
確かにその場合、GET メソッドの CGI が起動されますので、IMGタグのあるページが HTTP_REFERER にはいりますね。
リンク元というのは、IMGタグのあるページの(なんというか、ひとつ前の)HTTP_REFERER でしょうから、IMGタグをおいたページを CGIかSSIにして HTTP_REFERER を取得して count.cgi に(引数とかで)渡すくらいじゃないでしょうか。
IMG SRC ではなくて SSI にすれば HTTP_REFERER でいいと思いますけれど、SSIにはしたくないんでしょうね。
グラフィックアクセスカウンタで、リンク元を取得するのはどうすればよいでしょうか。
HTTP_REFERERだと、呼ばれたページになってしまいます。
<IMG SRC="./cgi/count.cgi">
のようにして、使おうと思うのですが。
中田さま
すばやい解答ありがとうごさいます。試しにNetscapeでやってみたらちゃんと動いてます。
ie特有の物なんですかねー どうも世話ないのでieつかってるんでが・・・ですかね
これからもよろしくお願いします。
木村さん、
履歴などのクリアで更新されるとすると、(IE3では)インターネット一時ファイルの設定で、
「保存しているページの確認」を「ページを表示するごとに確認」にする
のが関係するかもしれません。
関係ないかもしれませんが。
IE4でこれと同じオプションがあるかどうか私はわかりませんし。。。
中田さん 回答ありがとうございます。試してみます。
すみません 青田さんじゃなくで青野さんでした(^^;)
ちょっと試して気がついたのですが、ブラウザはie4を使ってるのですが、履歴など削除したり
してブラウザを再起動するとCGIがちゃんと動いているようです。私の設定ミスなんでしょうか
beta 4c をインストールして、proxy でのポート番号指定のアクセスが出来ることを確認しました。
どうも、ありがとうございました。
う、HTMLのミスでした。
なんでIEは正常だったんだろう・・・・・
失礼しました。(^^;
中田 様
私も青田さんと同じようでカウンタやバックグラウンドで指定した画像が更新されません。
あと、この間起きたエラーですが今の所おさまっております。
よろしくお願いいたします。
PS:beta 4cでやってみました。
中田さんへ
お世話になっています。
リネームされないファイルの件ですが原因がわかりました。
テンポラリファイルに拡張子をつけてなかったのが原因
だったようです。よくよく考えてみると当たり前のことですね。
あたりまえのことをしていなく何日も考えこんでいたとは
ほんとあきれます。とりあえずご報告まで。
鵬(ほう)さん、
Netscape の 4.0 も、私はインストールしていないので、よくわかりません。
サーバの応答前のエラーメッセージのようにも思えますので、フォームの HTMLファイルの方がどうなっているのか教えてくれますか?
単なる、FORM ACTION なのでしょうか?
もしサーバの応答だとすると、AnHTTPd ではそのメッセージを出すことはありません。
青野さん、どうも。
イメージカウンタなど、CGIでイメージ(バイナリ)データを出力するところをミスしていました。
HEADへの対応をさせた 0.9 beta 3 から、だと思います。
(ただし、Parse CGI Output をチェックしていると、 beta 3, 4 でも正常です。)
直したものを beta 4c としました。
えーと。
データ送信のためのフォームを表示するCGIを作ったんですが、IEならちゃんと出てくれるんですが
ネスケ4,0だと
An unsupported operation was attempt
というボックスが出て動いてくれません。
ただprintしまくってるだけなのに・・・・・・・。
ネスケとの互換性を取るにはどうすればいいのでしょうか?
お久しぶりです中田さん。久々にイメージカウンタをつけたら0.94で表示されなくなりました。修正をお願いします。0.91あたりでは表示されています。
あと、画像が転送されない場合があるようですがこれはまだきちんと確認はしていません。例えば、SSIで出力した<body background>ではった壁紙が表示されなかったのが何回かありました。
最後に長いPOSTのエラーがIE4.0で出なくなったような気がします。
IE4の”LANで接続する”にはIPアドレスなどの設定はないので大丈夫です。
ダイヤルアップ接続するときにはモデムで接続に戻す必要があります。
なぜかIE関係に詳しいのですが、早い時間に見ていたのにレスが遅れました。
谷名さん、なるほど、LANで接続というオプションがあるんですね。
そのあとのIPアドレスとかもろもろは適当に入れておけばいいんですか?
栄ちゃん、
IE3では、「必要に応じてインターネットに接続」をオフ にしていると思います。
これがオンでも、一度インターネットに接続してやれば、その後はローカルアクセスはできますよね。
これと似たような話ではないかと思ったのですが。。。
IE4で、動かないのは Perl だけで普通の HTMLのページの表示はできるのでしょうか?
HTMLページの表示でも、ネットに接続しろ、と言ってくるのであれば、やはり接続の問題でしょう。
IE3のようなオプションがないのであれば、接続しているのと同じ状態にする手を考えないといけないのではないかと思います。
ローカルアクセスはIE4の機能を使えばいいだろう、ということなのかもしれませんね。
でもそうすると、ローカルのPWSやIISにアクセスできないのだろうか、と思ったわけです。
栄ちゃん:
ダイヤルアップで接続ではなく、LANで接続のオプションを選べば、http://127.0.0.1で動きますよ。
IE4.0のオフラインは、ダイヤルアップをしないのではなく、キャッシュをブラウズするモードの様です。
ちょっと、説明不足でしたね。CGIのPERLをパソコン上でも、使うために、このプログラムを使っているわけなんですが...IE3のときは、プログラムを起動させて、ブラウザにアドレスを打ち込めば、オフラインでもそのPERLのプログラム動かすことができたのに、同じ設定で、IE4で同じことをやりますと、オフラインでは、動かない。しかし、ダイヤルアップ
で、オンラインの状態にすると、PERLのプログラムは、動きます。127.0.0.1も、ちゃんと、使えますし...オフラインのときは、ネットに接続しなさいというメッセージがでるんですが...そのPERLを実行しようとするとですね。どうも、よく、わかりません。
木村さん、lfsmgr.vxd で、というのは初めてで、ちょっとわかりません。
httpd.log と errors.log の落ちる直前の内容を教えてもらえますか?
といっても何も手がかりは出ていないかもしれませんが、とりあえず。
Windows95のバージョンと Updateの有無も、できればお願いします。
中田さん お世話になっております。
とっても便利に利用させて頂いております。何故か数人の方が入ってきてファイルなどの
ダウンロード等をされると以下のエラーが出てしまいます。
lfsmgr.vxdでゴニョゴニョっとVGAのブルーの画面がでてエラーになってしまう。
対応方法を教えてください。m(_ _)m
栄ちゃんへ、
私はまだIE4は使ってみていないのでわかりません。
ローカルホスト(localhost, 127.0.0.1)がだめ、という意味なら、IPアドレスを決めてそこへアクセスする形にすればどうか、と思ったりしますが、ちょっと違うのでしょうね。
LANカードがあってそれで接続されているとIE4に思わせられればいいんでしょうか。。。(?)
PWSやIISはどうなっているのでしょうね。
wataru さんへの追記。
プロバイダ上の話なら、flock( ) や symlink( ) を使うことになりますね。
wataru さん、
rename( ) の戻り値を表示するようにした方がいいかもしれませんね。
おそらく同時アクセスが原因のように思うので、AnHTTPd 側で CGI/SSI を SingleThread にしてやってみてください。
それでよさそうなら、ファイルのアクセスがぶつからないようにしないといけない、ということになります。
はじめまして...httpdを使わせてもらっています栄ちゃんです。
さっそくですが、IE3.02を使っているときには、問題はなく、動いていましたが...
IE4.00をインストしたら、ダイヤルアップで、ネットにつながっている状態、つまり、
ONライン状態でしか、使えなくなりました。
OFFラインで使うと、IE4のほうから、使えませんと出るだけなんですよね。
ちなみに、うちは、旧式の98のウィンドウズです(^_^;)
何か、いい方法があれば、教えてください。
中田さんへ
ひさびさに訪問いたしました。
おかげさまで掲示板のようなものを作成して
プロバイダのCGIサポート開始待ちなのですが
プログラムがちょっと不安定なのです。新規訪問者
データ(テンポラリファイル)に旧datafileの中身を追加して
新しいdatafileとするためにテンポラリファイルをリネームする
のですがそれがリネームされない場合があるのです。
旧datafileは消えてしまいます。つまりテンポラリファイルだけが
新しい訪問者に旧datafileのデータを追加された形で残っているのです。
rename($tempfile,$datafile); のステップはかならず通っているのですが・・・。
色々やってみるのですが規則性が分かりません。うまく行く場合もあります。
何かわかるようでしたら教えてください。
有田さん、
httpd094bd.zip か httpd094bd.exe をダウンロードしてやってみてください。
CG32.DLL が不要のバージョン(0.9 beta4b)がはいっています。
CG32.DLL は、Borland の CodeGuard というランタイムデバッグ機能を提供する DLL です。
配布するべきものではないと思うので、これが必要なものを出してしまったのは手違いです。
キャッシュサーバの影響もありそうなので、ダウンロードするファイル名を変えました。
こんにちは。ダウンロードさせていただき、Win95で起動してみたんですが、
「プログラム開始エラー:必要なDLLファイル CG32.DLL が見つかりませんでした。」という
アラートがでて起動できないんですが、CG32.DLLってどこかからDLできるんでしょうか?
いさむさん、
ロックするとのことですが、Options/General の Get REMOTE_HOST はどうなっているでしょうか?
Never 以外でしたら、Never をチェックしてやってみてください。
0.9 beta 4 の不具合解消版 beta 4b を出しました。(ただしバージョン表示は 4b にするのを忘れたので 4 のままです)
なお、キャッシュや履歴に残っている前のもののダウンロードにならないようご注意ください。(ファイルサイズで確認してください)
はじめまして。
使わしていただこうと、ダウンロードし解凍したのですが、CGISAMPLEのTESTが動きません。
httpdは常駐し、ログを見ると接続しています。
症状は、完全にロックしてしまいます。(リセットしかない状態)
たしか、ベータ2版だったとおもいます。
OSはwin95です。
ちょっとしたら98では動きませんか?
おわび
0.9 beta 4 の httpd.exe はデバッグ用 DLL(CG32.DLL)が必要なもの を出してしまいました。
申し訳ありませんが、本日夜入れ替えますので、お待ちください。
ベータ4早速ダウンロードいたしました。
なぜか私のマシンですとプログラム開始エラーが出てしまい、動作しませんでした。
よろしくお願いいたします。(^^)
AN HTTP Server 0.9 beta 4を早速ダウンロードしました。
ところが解凍後 その起動時に「CG32.DLL」が存在しない旨のメッセージが出て起動できませんでした。確かに私のWindows95の環境にはないのですが、どこから手に入るでしょうか。
beta 3までは快調に動いていました。
やっとできました!中田さん、v798さんありがとうございました。
うむむ。
autoexec.batをPATH=%PATH%;C:\www\perl\bin
にしたらちゃんとCGIが動作して”Hello World!”が出ました。(^0^
でもおかしなことにjperl-vは表示してくれません。
C:\www\perl\bin\jperl -v もだめでした。
でも動いたからいいかな(笑)
ともかくサポートありがとうございました。
では
鵬さん、
>C:\www\perl\bin\jperl -v としてもだめでしょうか?
これがOKなら、コマンドラインで、
>PATH=%PATH%;C:\www\perl\bin
として、
>jperl -v
は大丈夫のはずです。
AUTOEXEC.BATの内容を確認して一度リセット(再起動)すればいいはずですが。。
瀧内さん、
以下のリンクなどを見てください。詳しい説明があります。
自宅マシンWWWサーバ化計画
Win95でCGI(Perlスクリプト)を動かすガイドブック
なお、perl, jperl は上記の解説以後バージョンアップされているので、対応する最新版を入手してください。
今日現在の最新版は、ファイル名で言うと、Pw32i312.exe と 312j113b.exe のようです。
>中田さん
レスありがとうございます。
DOSプロンプトでjperl-vと入れて”パスまたはファイル名が違います”と出たらパスが通ってないらしいのですが、
どうもパスが通りません。
autoexec.batの末行は
PATH=%PATH%;C:\www\perl\binpath %path%;C:\www\perl\bin;
です。
ちなみにこれはデフォルトの値です。(perl for Win32、jperlインストール時)
PATH=%PATH%;C:\www\perl\binだけとかも試してみたのですがだめでした。
えっと、はっきり言って、CGIを使って、
カウンタや、掲示板が作れることぐらいしか知りません。
できたら、何らかのCGIを置くまでの説明をしていただけませんか?
よろしくお願いします。
かわさきさん、
エキストラパスを指定してある場合、PATH_INFO (とPATH_TRANSLATED)はセットされるはずなのですが。。。
たとえば、 http://hostname/cgi-bin/test.cgi/extra/path なら、 PATH_INFO=/extra/path になります。
エキストラパスがない場合、DOS(Windows)の環境変数は空文字列がセットできないようなので、PATH_INFO自体がなくなります。(これは現状での仕様です。)
セットされるはずなのにされていないようなら、どのような場合かをお知らせください。
K.I.さん、
IEの場合、バッチファイルをCGIスクリプトとしてみなしてもらうためには、
オプション/プログラムのファイルタイプで MS-DOSバッチファイル の MIME タイプ を text/plain に指定しないといけないようです。
(ちょっと変といえば変なんですが。。。)
鵬さん、
とりあえず、AnHTTPd の Options/General で Parse CGI Output をチェックして見てください。
多分、なんらかのエラーメッセージが表示されるようになりますので、そのメッセージを書いていただければ対応できると思います。
PATH_INFO は使えるようにならないのでしょうか?
NT4.0WorkstationSP3上で動かそうとしています。cgisampleの*.batをIE4.0から
動かそうとすると、「ダウンロードしますか?」ダイアログが出ます。*.batをcgi
スクリプトと認識していないような気がするのですが、どうしたもんでしょう。
どうも、はじめまして。鵬といいます。
CGIを早速試そうと思って、Hello WORLD!をprintする文を作ったんですが、
実行すると”ドキュメントにデータが含まれていません”って出てしまいます。
あと実際に動いてるCGI使っても起こってしまいます。
どうすればいいのでしょうか?
知識がヌルくてすいません。
>>http://203.140.34.77/ を参照したときは http://203.140.34.77:8080/default.htmlが。
>とのことですが、
>http://203.140.34.77/ のときは、本来 http://203.140.34.77:80/ と同じになるのが普通だと思います。
すいません、そのとおりでした。
どうもブラウザにキャッシュされていたようです。
(ブラウザは立ち上げ直したつもりでしたが)
すばやいご回答ありがとうございました
星野
v798 さん、
ここのコメント集についてはちょっと考えますね。
よくある掲示板のようなタイトル一覧があっていちいちクリックして見ていくのはあまり好きではありませんが、書き込み数が増えれば考えないといけないのでしょう。
まあ、まだいいだろうと思っています。
投稿ページはいっしょにする方がいいかもしれませんね。
ただフレーム(やテーブル)は使いたくないので。。。一応ラインモードブラウザでもちゃんと見られるように、ということです。
星野さん、
>http://203.140.34.77/ を参照したときは http://203.140.34.77:8080/default.htmlが。
とのことですが、
http://203.140.34.77/ のときは、本来 http://203.140.34.77:80/ と同じになるのが普通だと思います。
それで、この話はブラウザ側の設定の話のはずなので、そちらを見てみた方がいいのかもしれません。
あるいは IIS でポートを 8080 に設定すると、そうなってしまうのでしょうか。。。?
中田さん
リンクの件ありがとうございます。
>はじめまして。ページでご利用いただくのは大歓迎です。
>ゆいちゃっとの方はフォローお願いしますね。
了解しました。私でわかることであれば・・・・
あとこれは提示なのですが・・・
こちらでは書き込むフォームと投稿記事が別ページになってますよね?
それらはいっしょに表示できないでしょうか?
又、こちらのように利用者が多い場合だとWEB裏技の電子掲示板やmatt's氏の
WWWboardなど使われたら便利ではないでしょうか?
すみません・・でしゃばったことをいいまして・・
ちょっとそう思ってしまっのたので・・・
たつやさんへ
>やっと画面に「ゆいちゃっとプロ」が現れました。ですが・・・
>発言してもログがでないんです・・・何もプログラムをいじらずにそのまま入れたのですが・・・
>何か変更しなければならないんでしょうか・・・
発言ができないということは、
ログファイルか日本語変換のjcodeLE.plの指定が間違っているためでしょう。
指定位置をもう一度確認下さい。
>ご質問歓迎します。答えられるかどうかわかりませんが。。。
>IEとNNの話は、IE4の場合、ですよね(?)。
すみません!今日聞いてみたら、IEとNNをインストールした後NNを削除したときにIEがおかしく
なるって話を勘違いしてました。
会社のNNは何故おかしいのかよくわかりませんが、IEで動くので気にしないことにします(笑)
今日、自宅のパソコンにも入れてみたのですが、こちらは何の問題もありませんでした。
(NN4.01なのですが)
今度からちゃんと確認してから書きます。申し訳ありません(__)
ローカルでテストできるようになってとても嬉しいです!ヘ(^-^)ノありがとうございました〜!
出口さんどうもありがとうございました。
ご指摘の通りにPerlだけを再インストールしてみると
見事にうまくいきました!!
Jperlとperlがどう違うのかすらしらなくて、とりあえず書いてあるとおりやってみるしか
出来ない私ですが、そのうちこのページでみなさんのお役に立てるレベルになるようにがんばります。
それまでは相変わらずここでとんちんかんな質問をするかもしれませんが、みなさんよろしくご指導ください。