カテゴリ | |
---|---|
サマリ | 「ページの更新」ボタンで画面が真っ白になる |
バージョン | 1.4.3 |
投稿者 | ytomi |
状態 | 保留 |
投稿日 | 2004-04-07 (WED) 18:36:49 |
1.4.2から1.4.3に移行しました。主にwikiディレクトリ部分をコピーする形で行いました。 移行後、ページを更新しようとして、「ページの更新」ボタンを押すと、画面が真っ白になります。 1.4.2では更新されたページが見えましたよね。 1.4.3の問題なのでしょうか?
私もなりました。pluginなど変わったところのみCVSから落としてしたのですが、新規作成・変更、ともにダメ。どこか移し間違いをしたのかもと思って、新規に落として、?plugin=versionlistとCVSを見比べながら変わった所のみアップロードすると正常になりました。
質問箱などを見ながら改変したプラグインがかなり多いのでてこりずましたが…。
おそらく、エラーが出ているのですが、display_errors=Offの為、エラーが表示されず、白画面になっているのだと思います。ゼロから1.4.3をインストールしてみて、それでも動かなければ、サーバーの設定の問題。display_errors=Offのサーバーでは、通常、apacheのエラーログにエラーが記録されるようになっているはずなのですが、どうでしょうか? エラーが分かると、対処の仕方も考えようがあるのですが、これだけの情報では、どうしようもないです。
うちのレンタルサーバのerror.logには白画面が出ている時間帯のエラーの記録はありませんでした。何か手がかりになりそうなものがあればいいんですが…。
phpinfo()で、display_errors, log_errors, error_log 等のディレクティブを調べてみて下さい。これらのディレクティブについては、http://jp.php.net/manual/en/ref.errorfunc.php#ini.display-errors を参照。display_errors=Offで、log_errors=Offでは、デバッグのしようがないです。サーバー管理者に言って、せめてlog_errors=Onにして、エラーメッセージを調べることができるようにしてもらった方が良いでしょう。ただ、display_errors=Onにもかかわらず、エラーメッセージが出ず、白画面になることがあります。この原因は調べている所なのですが、まだ分かりません。いずれにしても、PHPスクリプトのどこかでエラーが出て停止している可能性が高いです。PHPのマニュアル(http://php.net/ )を見ると、ini_set()でdisplay_errorsを設定可能なはずなのですが、なぜか設定できません。これも良く分かりません。
新規に入れ直してやっと元に戻りました。pukiwiki.ini.phpをMSWordで編集後(修正前をコメント化”//...”)調子悪くなるようです。
質問箱/2029に同様のトラブルについての回避策をコメントしました。個人的にはis_page関数が怪しいと睨んでいます。
error_reporting(E_ERROR | E_PARSE);を
error_reporting(E_ALL);に変更して、実行してみてください。これで、エラーメッセージが表示される可能性があります。原因が分かったら、元に戻しておくことをお忘れなく。参考:dev:BugTrack/597
私もなりました。
上記を参考にエラーメッセージを表示させたところ
Warning: set_time_limit(): Cannot set time limit in safe mode in /usr/home/free/home/mumu/public_html/link.php on line 38
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/free/home/mumu/public_html/index.php:2) in /usr/home/free/home/mumu/public_html/plugin/edit.inc.php on line 137
私にはちんぷんかんぷんなので誰か教えてください。お願いします。
二つwarningが出ていますが、どちらも致命的ではなさそうなので、白画面になる原因は別にありそうです。こういう場合、私は、何か表示してexitするコードをプログラムの途中に入れ、二分探索的に、異常終了している箇所を探していきます。