AN HTTPD ゲストブック/コメント集(2003年2月10日08:48)


中田昭雄 nakata@st.rim.or.jp 2003/02/11 21:12

miru さん、いとさん、
私は試してみてはいないので使用上問題になるのかどうかはわかりませんが、rss.php で その define した SERVER_NAME を使っています。
SERVER_NAME を define しているのに $script = では getenv を使っているのがちょっと不思議に思いました。


中田昭雄 nakata@st.rim.or.jp 2003/02/11 21:09

いとさん、
なるほど、index.cgi と表示されて止まるのは変ですね。了解しました。


miru mimiru@geocities.co.jp 2003/02/11 20:21

define("SERVER_NAME",$HTTP_SERVER_VARS["SERVER_NAME"]);
の所を最初は直そうとしたのですが、よくわからなくて下のほうを直してみたら
とりあえず動いたので無視してました。

また、このままでは不具合が出た場合に報告します。


いと gfh05223@nifty.com 2003/02/11 19:30

中田さん
/pukiwiki の下にある index.* は index.php だけの状況なので index.php を
みつけて欲しいのですがみつからず、Error 404 の表示には …\index.cgi と出ています。
TODO の以下の関係だとすると、GETも同様かもしれません。
> (34) POST でもデフォルトインデックスを探す

define("SERVER_NAME",$HTTP_SERVER_VARS["SERVER_NAME"]); の方は
何も変更なしで HTTP_HOST を取得できており、とりあえず動いています。


中田昭雄 nakata@st.rim.or.jp 2003/02/11 16:47

miru さん、いとさん、
init.php の $script のところの少し上の

define("SERVER_NAME",$HTTP_SERVER_VARS["SERVER_NAME"]);

は直しておかなくて大丈夫ですか?


中田昭雄 nakata@st.rim.or.jp 2003/02/11 16:45

いとさん、
デフォルトインデックスの並びの件、確認して直します。
index.html,index.cgi,index.rb,index.php では index.php がみつからない、のですよね(?)。


miru mimiru@geocities.co.jp 2003/02/11 12:07

いとさん
なるほど気がつきませんでした。2で動かすことが出来てスッキリしました。
ありがとうございました。


いと gfh05223@nifty.com 2003/02/11 06:57

miruさん
(2)は正しくは以下の通りです。余計な左括弧が入ってました。m(_ _)m
$script = (getenv('SERVER_PORT')==443?'https://':('http://')).getenv('HTTP_HOST').(getenv('SERVER_PORT')==80?'':(':'.getenv('SERVER_PORT'))).getenv('SCRIPT_NAME');


miru mimiru@geocities.co.jp 2003/02/11 01:46

いとさん
ありがとうございます。
(1)の方法で書き換えててとりあえずOKだったのですが、(2)に変えてみたら何故かエラーが出てしまい駄目でした。また(3)の方法も試してみます。


いと gfh05223@nifty.com 2003/02/10 22:50

miruさん
pukiwikiを試してみました。ソースを書き替えて動かすには 3つくらい方法があるかと思います。

(1) init.phpの22行目の (getenv('SERVER_NAME') を例えば以下のように直接ホスト名/IPアドレスで書く。
 $script = (getenv('SERVER_PORT')==443?'https://':('http://')).'192.168.0.2'.(getenv('SERVER_PORT')==80?'':(':'.getenv('SERVER_PORT'))).getenv('SCRIPT_NAME');

(2) init.phpの22行目の SERVER_NAME を HTTP_HOST に変更する。
 $script = (getenv('SERVER_PORT')==443?'https://':('http://')).(getenv('HTTP_HOST').(getenv('SERVER_PORT')==80?'':(':'.getenv('SERVER_PORT'))).getenv('SCRIPT_NAME');

(3) pukiwiki.ini.phpの39行目をアンコメント(行頭の // を削除)し、例えば以下のように設定する。
(ドキュメントルート下の pukiwiki にインストールした例)
 $script = "http://192.168.0.2/pukiwiki/pukiwiki.php";

3つの方法とも一応動作確認はしましたが、メニューの全項目を確かめたわけではないので保証はできませんが。
ホスト名/IPアドレスを直書きしない (2)がベストかもしれません。ただし ISAPIでは (3)しかだめです。

以下は中田さんへ

この上を試していて pukiwiki.phpを index.phpにファイル名変更したときに気づきました。
デフォルトインデックスは以下のように書き並べています。
index.html,index.cgi,index.rb,index.php

上の (3)で $script = "http://192.168.0.2/pukiwiki/"; のように index.php を省略すると、
「編集」のフォームは <form action=http://192.168.0.2/pukiwiki/ method="post">
となるのですが、実行すると、index.cgi がみつからない(Error 404)になります。

デフォルトインデックスの並びを以下のように変更するとOKです。
index.html,index.php,index.cgi,index.rb
どうも、index.phpより前に index.html以外があるとそれに決め打ちされるようで
最後まで全てのファイルの有無を調べていないという感じです。
確認をよろしくお願いします。


miru mimiru@geocities.co.jp 2003/02/10 22:48

すみません。
ここで書き換える場所を聞いてしまったかたちになってしまいm(__)m

書き換えたら動作しました。
ありがとうございました。


中田昭雄 nakata@st.rim.or.jp 2003/02/10 21:10

miru さん、
了解しました。

pukiwiki.php について言えば、init.php の中の SERVER_NAME を好きなようにセットしてやればそれで大丈夫だと思います。


miru mimiru@geocities.co.jp 2003/02/10 08:48

はじめまして
http://homepage1.nifty.com/yito/namazu/gbook/20020408.0031.html
の過去ログ読んだのですが
これと同じで、サーバ名からURLを取得するpukiwiki.PHP
http://pukiwiki.org/
を使いたくて、phpを書き換えようと思ってもよくわからなかったので

>AN HTTPD のオプションで設定できるようにしようかとも思っています。 そうする方がいいですか?
とあるので、出来ればそうしてもらえないでしょうか?お願いします。