config.datに書き込みエラーというメッセージが出ます |
- 01: 名前:千葉投稿日:2002/08/30(金) 12:48
- 初めまして、白松さま。
こちらのcgiを使ってみたくてがんばっているのですが、 記事の書き込みや環境の設定変更をしようとすると、エラー メッセージが帰ってきます。 そのせいでしょうか、サイトにはいつまでたっても 「書き込み画面へ」のままになってしまいます。 管理画面でログをみてみるとあるんですが…。
# CGIスクリプト自身をURLで指定 $script = 'http://yssclub.parfait.ne.jp/tclub/column/columnh.cgi';
# トップファイルHTMLをURLで指定 $htm_url = 'http://yssclub.parfait.ne.jp/tclub/column/index.html';
# 戻り先 (index.htmlなど) $home = 'http://yssclub.parfait.ne.jp/tclub/main/top2.htm';
この部分しか変えていません。
config.datのパーミッションは644になっています。 またリンクは http://yssclub.parfait.ne.jp/tclub/column/index.html に貼ってありますが間違いではないでしょうか。
お手数をおかけしますが、どうぞよろしくお願い致します
パスワードは0123です。
- 02: 名前:白砂 青松投稿日:2002/08/30(金) 12:48
- はじめまして、白砂です。
いろいろやってみたんですが、どうもファイル生成ができないみたいですね。 このCGIは、
ログ書込み → html生成
の順に処理をしているのですが、ログはちゃんと書き込んで、そのあとのhtml生成のところでコケているようです。 config.datの位置、logファイルの位置なども正常でしたし、何よりログをちゃんと書けているということ自体がCGIの設置そのものは成功しているということを証明しています。 ということは、あとはプロバイダーにるファイル生成の問題ですね。
テストをしてみますんで、下の場所からCGIをダウンロードして下さい。
http://www.hakusa.net/test/write_test.cgi http://www.hakusa.net/test/write_test2.cgi
普通にクリックしちゃうとたぶん実行してしまうと思うので(笑)、右クリックで「対象をファイルに保存」して下さい。 で、CGI中の「# トップファイルHTMLをURLで指定」のところを自分用に書き直して(columnh.cgiと同じですから書けますよね)、これをcolumnh.cgiと同じ場所に置いて下さい。 あとは、write_test.cgiにアクセスして下さい。リンクは張ってませんから、面倒でもブラウザに「http://〜」と直接打ち込むしかありません。
これで「書けるかな?」というページが出てくるんであれば、プロバイダーはファイル生成を許可しています。逆に、出てこないんであれば、そのままではファイル生成はできません。
うまくいかなかったら、同じようにwrite_test2.cgiを試してみて下さい。 こっちのCGIは、実行するとエラーになります。しかし、実際にはちゃんとhtmlを生成しますので、アドレスを 〜index.htmlと入れるとちゃんと出てきます。
とりあえずこの2つを試してみて下さい。 もしダメだったら、今度はパラメーターを変更して実行するテストをしてみましょう。
- 03: 名前:白砂 青松投稿日:2002/08/30(金) 12:48
- すいません。
あのアドレスだとCGIが取得できません。
http://www.hakusa.net/test/test.lzh
で2つのCGIが取れます。
- 04: 名前:千葉投稿日:2002/08/30(金) 12:49
- 早速のお返事ありがとうございました。
お教えいただいた通りに、二つのcgiをアップして実行してみました。 どちらもサーバーエラーになってしまいましたので、これは、そのまま ファイル生成は出来ないということですよね? また、test2の方を実行後index.htmlへアクセスしてみ ても相変わらず『管理画面』のままです。例しにテスト書き込みをして みましたら、今度は『indexのwrite error』とメッセ ージが帰ってきました。やはりログは出来ているようなのです。
cgiとサーバーの相性が悪かった、のでしょうか。 サーバー側にも問い合わせを出してみようかとは思っているのですが。
- 05: 名前:白砂 青松投稿日:2002/08/30(金) 12:49
- ダメでしたか。
それでは、今度はパラメーターを「絶対パス」で指定してみましょう。
「絶対パス」というのがちょっと難しいんですが、サーバーのファイルの位置のことです。 今までのは「相対パス」で、CGIから見た位置を書くものでしたが、今度はそうではなく、サーバーの中のファイルの位置を書きます。
write_testには「# トップファイルHTML (フレーム親)をフルパスで指定」というパラメーターがありますね。今は$htmtop = './index.html';となっていると思いますが、これを、絶対パスに書き直して下さい。
この絶対パスがなんなんだよー、という話が一番難しいんです。理屈を知っていらっしゃればいいんですが……。
プロバイダーから、「HP領域については、あなたはここの領域を使ってください」という通知をもらってますよね。その書式って、http://〜とかいう書式ではなくて home/1/www/みたいな感じで、/で区切られてませんか? それのことです。 プロバイダーから教わるのは千葉さんのページのトップページですから、CGIに書いて欲しいのはそれではなくて、<index.htmlを作りたい場所の位置>です。 もし、何言ってんだか全然判んない、という場合、プロバイダーから教わった「HP領域のトップページ」の位置を教えて下さい。そこから類推します。それ自体をここに書いても、ログインパスワードさえ書かなければ他人にクラックされることはないから安心です。
ちょっと難しいことかもしれませんが、チャレンジしてみて下さい。
ちなみに、過去ログもちょっと読んでみて下さい。同じような症状の方もいらっしゃいます。
- 06: 名前:千葉投稿日:2002/08/30(金) 12:50
- 解決しました!
いろいろとお手を患わせてしまってすみませんでした。 本日、ダメもとでサーバー側に問い合わせてみましたところ、 index.htmlのパーミションが違っているという返事が きました。 ワタシの使ってるサーバーはここを『666』にしなければ いけないそうです。治してアクセスしてみましたら、ちゃんと、 画面が表示されました。 ヤッターとガッツポーズです。 苦労して設置してcgiですから、これから大事に使わせて頂きますね。
本当にいろいろと有り難うございました!
-
-
|
|