質問
-
ライト
再度 Geo では動いたのに、ここでは動かない掲示板 -
本文:
前のスレッドで回答まで辿りつけなかったので、再度ここに記載します。
http://netnotukaikata.info/bbs4.txt
にソースリストを上げました。bbs4.cgiをbbs4.txtにリネームしてあります。動いてるジオシティーズと同じ物です。秀丸でUTF-8、LF、BOM無しにしてあります。最終行のリターンも入っています。パーミッションは現状書き込みができないようにしてあります。
http://netnotukaikata.info/cgi-lib.pl.txt
bbs4 で参照してるplファイルのテキスト版です。
秀丸でUTF-8、LF、BOM無しにしてあります。最終行のリターンも入っています。パーミッションは現状書き込みができないようにしてあります。
ソースコードにエラーは無いハズです。geo で動くので、
counter.cgiの教訓では、人に見せれば動くような気がしたので、そもそもcounter.cgiのファイル操作が動けば、動くハズの物なんですが、
どうせ大した事では無いハズなので詳しい人お願いします。
今回はテキスト量が多いので、LiteCoinアドレスを教えて頂けたら少ないですがお礼を送ります。
- 緊急度:通常投稿者:blueseabluemoonさん投稿時間:2018/10/10 07:26
回答 No.7636
-
本文:
bbs4.txtというのをテキスト記入に使っているので、バッティングするのでbbs4.cgi.txt にしました。よろしくお願いします。
- 投稿者:blueseabluemoonさん 投稿時間:2018/10/10 07:39
回答 No.7637
-
本文:
.htacess に余計なことを書いているでしょ?
よくある、
AddHandler cgi-script .cgi .pl
は、.cgi で終わるファイルだけでなく、.cgi.txt で終わるフィルにもマッチするから、書いてはいけない。
# まあ、他にも余計なことをしている可能性大だから、.htaccess は削除してみな。 - 投稿者:ジョバンニさん 投稿時間:2018/10/10 07:53
質問者からのコメント
前に削除してあります。知らぬ間にあったので、
回答 No.7639
-
本文:
http://ponk.jp/perl/bbs/form を参照しているのなら、記事が、2002年とかなり古いから、ジオシティの perlのバージョンが古い可能性を考えた方がいいかもね。
◎ジオシティの perlのバージョンは?
特に、cgi-lib.pl (1.14) に使われている $* は 最近の perlでは、使えないので、エラーになるはず。
( かなり長い間使われていた perlのバージョンは、5.8.8 なので、ジオシティのバージョンがこの辺なら、ジオシティでは動いていてもネットオウルでは動かない。)
ちなみに netowlのperlのバージョンは、5.16.3
https://www.star.ne.jp/manual/homepage_server_spec.php
$* が使えなくなったのは、5.10あたり。
$* の他にもいくつか使えなくなった関数や挙動が変わった関数もあるからチェックした方がいいかも。
最近のperlなら、
require "cgi-lib.pl"
といった自家製のライブラリを呼ぶのではなく、
use CGI;
のように標準のライブラリを読み込んで使うのがオーソドックスなやり方ですよ。(好みの問題だけどね)
- 投稿者:ジョバンニさん 投稿時間:2018/10/10 08:49
回答 No.7644
-
本文:
> 前に削除してあります。知らぬ間にあったので、
削除してあるなら、cgi-lib.pl.txt が cgi扱いなのは、システム側の設定だから、***.pl.txt という名前でなく、別の名前(例えば、cgi-lib-pl.txt)でないとアクセスできない。 - 投稿者:ジョバンニさん 投稿時間:2018/10/10 14:54
質問者からのコメント
最後を .txt にしたのは、ジョバンニさんに見て貰おうとおもって .txt にしました。bbs4.cgi → bbs4.cgi.txt と cgi-lib.pl → cgi-lib.pl.txt というわけです。前のcounter.cgi を counter.txt にしたのと同じです。
回答 No.7645
-
本文:
さっきの回答で気づいたのですが、cgi-lib.pl.txt だとファイル名が違うので、bbs4.cgi からは呼び出せないので、cgi-lib.pl を置きました。cgi-lib.pl.txt と同じ内容でファイル名だけ違います。一応。
- 投稿者:blueseabluemoonさん 投稿時間:2018/10/10 15:43
回答 No.7646
-
本文:
実行する時は、cgi-lib.pl と bbs4.cgi と言う名前にして、cgi-lib.pl.txt と bbs4.cgi.txt の名前を変えてください。
- 投稿者:blueseabluemoonさん 投稿時間:2018/10/10 15:44
回答 No.7647
-
本文:
> ◎ジオシティの perlのバージョンは?
ジオシティーズ(ジオプラス)の環境は
https://geocities.yahoo.co.jp/originalcgi/
です。
さて、
DOS/Windowsだともともと8.3の最後の3文字が拡張子で決めうちで自動処理していますが、
UNIX互換だとそういう自動処理はありません。
そして、おそらくスターサーバーの設定は、最後の"."以降末尾までにマッチさせているわけではないようで、
> AddHandler cgi-script .cgi .pl
> は、.cgi で終わるファイルだけでなく、.cgi.txt で終わるフィルにもマッチするから、書いてはいけない。
> 削除してあるなら、cgi-lib.pl.txt が cgi扱いなのは、システム側の設定だから、***.pl.txt という名前でなく、別の名前(例えば、cgi-lib-pl.txt)でないとアクセスできない。
途中に ".pl" や ".cgi" があってもアウトなので、
サーバが実行しようとして 500 Internal Server Error になってしまいます。
例えば、
cgi-lib.pl.txt → cgi-lib-pl.txt
bbs4.cgi → bbs4-cgi.txt
のように変えればよいです。
- 投稿者:ayaguchiさん 投稿時間:2018/10/10 16:04
回答 No.7648
-
本文:
> 実行する時は、cgi-lib.pl と bbs4.cgi と言う名前にして、cgi-lib.pl.txt と bbs4.cgi.txt の名前を変えてください。
だからさ、最初からcgi-lib-pl.txt という名前にしてくれないと、cgi扱いになって、ソースをダウンロードできないんだってば。
- 投稿者:ジョバンニさん 投稿時間:2018/10/10 16:37
質問者からのコメント
cgi-lib-pl.txt と bbs4-cgi.txt に変えました。ソース見てください。
回答 No.7657
-
本文:
自己レス失礼
> ・5行目
require "cgi-lib.pl"; のところで、
bbs4.cgi から cgi-lib.pl ファイルが見つけられていないようです。
ですが、手元で試した際のことなので、
スターサーバーの設定ではたぶん、パスが通っているので問題ないかもしれません。
- 投稿者:ayaguchiさん 投稿時間:2018/10/10 19:12
質問者からのコメント
./ 付けないとダメでした。
回答 No.7658
-
本文:
> ・最終行
> } が余分です
> 対応する { がないので、エラーになります。
これが、原因なら、
> ソースコードにエラーは無いハズです。geo で動くので、
これは嘘だってことになるけどね。
もう、こいつの「同じソースなのに」は2度と信用しない。 - 投稿者:ジョバンニさん 投稿時間:2018/10/11 06:59
回答 No.7656
この回答がベストアンサーです
bbs4.cgi の
・最終行
} が余分です
対応する { がないので、エラーになります。
・5行目
require "cgi-lib.pl"; のところで、
bbs4.cgi から cgi-lib.pl ファイルが見つけられていないようです。
ディレクトリを含めたパスも指定すればよいです。
同じディレクトリに置くのであれば
require "./cgi-lib.pl";
でOKです。
質問者からのコメント
よく解りますね。!
WindowsのASPのように、細かくエラーを吐き出してくれればすぐ解るのですが、このサーバーのように同じエラーだけしか出さない物は解読しようが無いです。
おやくそくです。ライトコインアドレスを教えてください。無ければウォレットをダウンロードしてください。1ライトコインは6000円位と高いのですが、0.0とか行けるので、幾らか支払います。