カテゴリ | |
---|---|
サマリ | kifubbs導入がうまくいかない |
バージョン | 1.4.4 |
投稿者 | kai |
状態 | 完了 |
投稿日 | 2004-11-19 (金) 16:32:09 |
作者ログの解説の通りにkifubbsをインストールしようとしたのですがうまくいきません。pukiwiki/pluginディレクトリにkifubbsを入れて、kifubbs.cssもその内容をdefault.ja.cssの末尾にコピーしました。そして表示したいページに#kifubbs()と入力すると画面全体が真っ白になります。原因がわかりません。パーミッションなど何度も確認しても原因がわかりません。助けてください。
// 初期設定 (エラー出力レベル) error_reporting(E_ERROR | E_PARSE); // (E_WARNING | E_NOTICE)を除外しています //error_reporting(E_ALL);-- kai 2004-11-25 (木) 10:46:18
- // 初期設定 (エラー出力レベル) - error_reporting(E_ERROR | E_PARSE); // (E_WARNING | E_NOTICE)を除外しています - //error_reporting(E_ALL);の部分を消したということです。
kifubbsの導入に関しては
ファイル(ディレクトリ) | パーミッション |
kifubbs.inc.php | 644 |
kifubbsディレクトリ | 755 |
kifubbs/*.inc.php | 644 |
kifubbs/bbsdataディレクトリ | 777 |
kifubbs/bbslockディレクトリ | 777 |
kifubbs.inc.php とkifubbs/*.inc.php の転送モードはASC(EUC)で行いました。 上記のようにFTPで以下のとおりにサーバにアップロードしてPukiwiki/Pluginへコピーしました。 kifubbs.cssは、その内容をdefault.ja.cssの末尾にコピーしました。 サーバにはFedora Core2を使用しています。 はじめに書いたとおりパーミッションについても何度も確認しています。 ひとつだけ気になることがあるのですが、アップしたkifubbsのファイルでアルファベットを除くすべての文字が文字化けしてるのでそれは関係あるのでしょうか?-- kai 2004-11-25 (木) 11:25:31
// 初期設定 (エラー出力レベル) error_reporting(E_ERROR | E_PARSE); // (E_WARNING | E_NOTICE)を除外しています error_reporting(E_ALL);
// 初期設定 (エラー出力レベル) ini_set("display_errors", "1"); error_reporting(E_ERROR | E_PARSE); // (E_WARNING | E_NOTICE)を除外しています error_reporting(E_ALL);
- 導入サーバ: FedoraCore3(default-code:UTF-8)
- PHPバージョン: 4.3.9
- mbstringの設定状況
[mbstring] mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = EUC-JP mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none;- pukiwikiバージョン:1.4.4 (但し cvs-20041127版相当の euc 版)
- 検証に用いたブラウザ: Firefox 1.0
- 検証時の環境:サーバと同じマシン上でのコンソール, X環境
- エラー出力設定: ini_set("display_errors", "1"); & error_reporting(E_ALL);
- 設定状況: kifubbs.inc.php導入 ... 設定状況はフォルダの権限のみを修正
(表示結果)白い画面&エラー表示(以下のような内容)がなされました。私の環境では、MySQLは導入していないので、Fatal errorの内容は至極当然のものです。(エラー出力内容 : 適当なところで改行コードを挿入してます) Notice: Undefined variable: id in /pukiwiki/path/plugin/kifubbs.inc.php on line 14 Notice: Undefined variable: id in /pukiwiki/path/plugin/plugin/kifubbs.inc.php on line 18 Fatal error: Call to undefined function: mysql_connect() in /pukiwiki/path/plugin/plugin/kifubbs/db_mysql.inc.php on line 40- 作者ページを良く読み、以下のような設定を行い再表示させました:
kifubbs/init.inc.php define('KIFUBBS_USEDATABASE', 'filesystem'); define('KIFUBBS_ACTIVE_KIFU', false);(表示結果)pukiwikiのページ内容は表示されますが、以下のWarningの内容とともに、ページの文字内容が化けて表示されます。(エラー出力内容: 適当なところで改行コードを挿入してます) Warning: Cannot modify header information - headers already sent by (output started at /pukiwiki/path/plugin/kifubbs.inc.php:14) in /pukiwiki/path/plugin/skin/pukiwiki.skin.php on line 48 Warning: Cannot modify header information - headers already sent by (output started at /pukiwiki/path/plugin/kifubbs.inc.php:14) in /pukiwiki/path/plugin/skin/pukiwiki.skin.php on line 49 Warning: Cannot modify header information - headers already sent by (output started at /pukiwiki/path/plugin/kifubbs.inc.php:14) in /pukiwiki/path/plugin/skin/pukiwiki.skin.php on line 50文字化けですが、EUC-JPの文字コードの内容にも関わらず、ブラウザ側ではUTF-8として 解釈しているようです。ブラウザのcharacter encodingの設定を手動で EUC-JPにすると正しく日本語なども表示されました。ですが、ディレクトリ構造を大きくカスタマイズしているせいか、 「./plugin/kifubbs/bbsdata/が開けません。」と出てきてます。-- jjyun 2004-12-01 (水) 21:56:27
- 以上のような状態で、pukiwikiページのHTTPヘッダを以下の方法で確認してみたところ、 やはりcharsetが正しく設定されていません。
$wget -S -O /dev/null http://localhost/pukiwiki-path/pukiwiki.php?kifubbs設置ページ : 1 HTTP/1.1 200 OK 2 Date: Wed, 01 Dec 2004 13:33:49 GMT 3 Server: Apache/2.0.52 (Fedora) 4 X-Powered-By: PHP/4.3.9 5 Last-Modified: Wed, 01 Dec 2004 13:17:34 GMT 6 Connection: close 7 Content-Type: text/html; charset=UTF-8kifubbsの設置を外した時は、日本語などが化けずに表示されますが、この時のHTTPヘッダは以下のような状態になります。: 1 HTTP/1.1 200 OK 2 Date: Wed, 01 Dec 2004 13:37:30 GMT 3 Server: Apache/2.0.52 (Fedora) 4 X-Powered-By: PHP/4.3.9 5 Last-Modified: Wed, 01 Dec 2004 13:37:23 GMT 6 Cache-control: no-cache 7 Pragma: no-cache 8 Connection: close 9 Content-Type: text/html; charset=EUC-JPとこんな感じです。ざっと調べた感じですと、<? 〜 ?> の後に余計な空行はないようです。う〜ん、ちょっと私には原因がわかりませんね。私はkifubbs を導入するつもりはないのでこの位でかんべんしていただきたいのですが、kaiさんのところも同じような状況ですか? 識者の方々、お気付きの点があれば御指摘ください。-- jjyun 2004-12-01 (水) 22:35:17- (kifubbsを使用してもいないのに (^^; 興味半分で (^^; )ちょっと、1.5.1 をみてみました。すっごく疑問なのですが、14行目の
$id == ''は$id = ''の間違いでは? -- みこ 2004-12-01 (水) 23:14:23- みこさんありがとうございます。うちの環境ではビンゴです。御指摘の部分を直したら上記で指摘した文字化けが直りました。「もやっと」 感が直り、「すっきり」しました。⌣ -- jjyun 2004-12-01 (水) 23:19:56
- んでもって、PHPの癖としてheader出力される前にエラーを出力しちゃうとheaderの定義は無効になるという典型的なエラーパターンだとおもいます。(そういう意味では、よくkifubbsのバグに気づかずに、みんな使っているなぁ (^^; ・・・と) -- みこ 2004-12-01 (水) 23:21:29
- ini_set("display_errors", "1"); をコメントアウトしてエラー出力を抑制した状態で、$id == '' に直したら文字化けでませんね。
ちょっと得した気分 &heart; 勉強になりました。⌣ -- jjyun 2004-12-01 (水) 23:26:36
- でもkaiさんのところではエラー表示が出ないという報告でしたね。違うところにも問題があるかも... というかむしろそちらの方がもっと深刻なような気がします。でも私のところでは再現できませんでした。 -- jjyun 2004-12-02 (木) 08:52:52
- それもPHPではよくある話で、エラー表示を抑制したときに(dieするような)致命的なエラーがでると、ページ画面は真っ白になります。(ただし、apacheのログや他のログにはどこかにのこります・・・となんか話がdevみたいになってきちゃった (^^; ) -- みこ 2004-12-02 (木) 10:25:12
- どちらにしても、PHPのエラー表示もしくはログは(レンタルサーバでない限り)どこかに残っているので、まずはそれを見てからになるでしょう (^^) もしログがどこにもなく、あなたがPHPにそこそこくわしければdev:PukiWiki/1.4/ちょっと便利に/エラーログをファイルに出力 を追加してkifubbsを運用し、そのログを見せてもらうだけでも解決の手助けになるかとおもいます。 -- みこ 2004-12-02 (木) 10:32:20
- ちなみに、バグで無いかぎり、ユーザーエラー処理で dieする場所は6箇所(それに関係する定義は KIFUBBS_USEDATABASE, KIFUBBS_LOCKFILEDIR)です -- みこ 2004-12-02 (木) 10:41:51
- 助言ありがとうございます。自力で原因を見つけたいと思います。勉強が必要ですね;原因がわかりましたら報告したいと思います。 -- kai 2004-12-13 (月) 11:51:44