68user's page 掲示板

Prev< No. 1153〜1160> Next  [最新発言に戻る] [過去ログ一覧]
No. 1153 # 68user 2000/09/10 (日) 02:30:28
こちらの perl-5.6 では動いているので、おそらく 7行目の
    $port = getservbyname('http','tcp');
で値が取得できていないんでしょう。
    $port = getservbyname('http','tcp') || 80;
でどうですか。

No. 1154 # konan 2000/09/10 (日) 03:23:28
>$port = getservbyname('http','tcp') || 80;
>でどうですか。

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

ところでこのスクリプトを会社の2台のUNIXで走らせたら
1台は動作してもう一台はUse of uninitialized valueの
エラーで止まってしまいました。それではとWINDOWSでやって
みたら同じエラーで止まってしまいました。原因がわからないので
質問をさせて頂きました。WSによって動いたりそうでなかったり
する原因は何なのかな?っと言う新たな疑問がありますが
宜しければお知らせください。

No. 1155 # 68user 2000/09/10 (日) 03:29:44
man getservbyname すればわかりますが、この関数は
/etc/services (NIS を使っているなら ypcat services の
結果) を読むだけの関数なので、/etc/services がオープン
できないとか、ファイルはあるけど中身に
    http 80/tcp
というエントリがない、などというときポート番号の取得に
失敗します。

サンプルとはいえ、本来は getservbyname に失敗したら 80 に
決め打ちするか、あるいは die すべきですね。次回更新時に
直しておきます。

No. 1156 # konan 2000/09/10 (日) 23:50:34
お返事ありがとうございました。

perl http-client.plとするとうまく動作するのですが
ブラウザから起動するとInternal Server Errorとなります。
起動例(http://www.???.ne.jp/cgi-bin/http-client.pl)
もともとそういうスクリプトなのかもしれませんがスクリプト内
もしくは引数でわたされたアドレスのhtmlやjpg,gif等を
ブラウザに表示するのはどうしたらよいのでしょうか。
よろしくお願いします。

No. 1157 # 68user 2000/09/11 (月) 00:28:23
    #!/usr/bin/perl
    print "Hello world";
は CGI 経由では動きません。しかし
    #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    print "Hello world";
は動きます。そういうことです。

No. 1158 # みちこ [URL] 2000/09/12 (火) 01:05:45
くだらないことですが・・・
HPを置いているサーバにbashのファイルがありますが、
これはunixシェルが使えるということなのでしょうか。

そして、Apacheを使うときにはDNSの設定を行う必要がありますか?
もしよろしければお答えください。
よろしくお願いします。

No. 1159 # 68user 2000/09/12 (火) 01:19:17
> HPを置いているサーバにbashのファイルがありますが、
どこにどういうファイルがありますか? /bin/bash や
/usr/local/bin/bash ですか? また、どうやってその
ファイルを見付けましたか?

> Apacheを使うときにはDNSの設定を行う必要がありますか?
ローカルでテスト用に使うのですか? なら必要ありません。
# ってこともないんだけど。自ホストさえ引ければ問題なし。

apache を使って web を一般に公開するにしても、普通に
telnet や nslookup が使えているなら、DNS の設定は不要
です (それは DNS が設定済ということだから)。

No. 1160 # みちこ [URL] 2000/09/12 (火) 04:04:37
ftpソフトでファイルを取得すると、
一覧のところに
.bash_logout
.bash_profile
.bashrs
というファイルが置かれています。
ちなみに、binディレクトリ内には何もありません。
(これはcgiが使えないということ?)
bashファイルに関しては所有者が私になっているので、
(rootではないということ)
・・・・どういうことなんでしょう。

なんか、よくわからない質問で申し訳ありません。

Prev< No. 1153〜1160> Next  [最新発言に戻る] [過去ログ一覧]