XOOPS2系マニュアル
画面が真っ白?!
投稿者: Viva 掲載日: 2006/6/6 (112430 回閲覧)
XOOPSは、ちょっとしたことで真っ白現象になります。
その対処方法を追加していってます。
画面が真っ白になって、ワタシの頭も真っ白・・・。
Xoopsを使っていると、そんな経験をしてしまうことがあります。
そんな時の原因調査/対処法(の一例)をご紹介します。
※画面が真っ白になる原因は幾つか考えられます。
この文書では、その全てのケースを網羅した内容ではありませんので、ご注意くださいね。
コレやってみて【その1】
Xoops自体のファイル構成が壊れてしまっていることがあります。
原因は管理者さんが間違えて消してしまったり、時には原因不明で・・・。(怖
そんなときのために、次の(1)(2)を試してみて下さい。
(1)テーマファイルを調べてみる
画面が真っ白になった原因として、テーマファイルを消した可能性があります。
管理画面の一般設定→一般設定→テーマで指定したテーマを、ファイルごと消してしまった場合、
画面が真っ白になります。
それを調べるためには、次のようにします。
・FTPソフトでログイン
・Xoopsをインストールしたディレクトリの直下の「themes」ディレクトリに移動
・いま使っているテーマの名前のディレクトリがあるかどうか調べ、なければ再度アップロード
(2)Smartyのファイルを調べてみる
画面が真っ白になった原因として、Smartyのファイルが壊れていることがあるのです。(!)
それを調べるためには、次のようにします。
・FTPソフトでログイン
・Xoopsをインストールしたディレクトリの直下の「class」ディレクトリに移動
・「class」ディレクトリの直下の「smarty」ディレクトリに移動
・「smarty」ディレクトリの直下に、
「configs」「core」「plugins」という3つのディレクトリがあるかどうか調べ、
なければ再度アップロード
(筆者の経験で、「core」ディレクトリが何故か消えていたことがあります)
コレやってみて【その2】
上記の「コレやってみて(その1)」で調べても問題ない場合、
あとはXoopsを設定するときに間違いがなかったか調べます。
ただし、画面が真っ白なので、管理者でログインしたくてもログインできないことがありますね。
そこで、このときでも管理画面を何とか表示してみる裏ワザをご紹介します。
(1)画面真っ白状態でもなんとか管理画面を出してみる
次の手順を試してみて下さい。
・ダミーのhtmlファイルを作成
テキストエディタを開き、次の内容を記述し、適当な名前(例: xxx.html)で保存してください。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP" />
<meta http-equiv="content-language" content="ja" />
<title>自己管理 - 自己を管理する</title>
</head>
<body>
<form action="http://XXXXXXXXXX/user.php" method="post"> ユーザ名:
<input type="text" name="uname" size="26" maxlength="25" value="" />
<br /> パスワード:
<input type="password" name="pass" size="21" maxlength="32" />
<br />
<input type="hidden" name="op" value="login" />
<input type="hidden" name="xoops_redirect" value="" />
<input type="submit" value="ログイン" />
</form>
</body>
</html>
※↑この中で、
引用:
の部分は、ご自身のXoopsサイトURLで書き換えてください。
・保存したhtmlファイルをブラウザで開く
・いつもの管理者用ログイン/パスワードを入力して、ログインボタンをクリック
(真っ白の画面が表示されるが、これはログインされた状態だったりするので、気にしない)
・ブラウザのアドレスバーの内容を変更
引用:
から
引用:
に変更する
これで、管理画面が出てきたのではないでしょうか?
ここまでで、管理画面がまだ見れない場合、ちょっぴり重症です。
そんなときは、次の(2)を試してみてください。
(2)画面真っ白状態でもなんとかPHPデバッグにしてエラー内容を表示させてみる
画面は真っ白になるわ、管理画面は出ないわ、もう泣きたいアナタ。
あとは、PHPのエラー内容を画面に表示させて、調べるしかありません。。。
でも、管理画面が出ないと、PHPデバッグに変更できないですよね。
そんな時には、次の手順を試してみて下さい。
・phpMyAdminなどを使って、Xoopsで使っているDB(MySQL)にログインする
・画面左のテーブル一覧からXXX_configテーブルを選択
(↑XXXの部分はご自身の環境で読み替えて下さい)
・画面上のタブから「表示」をクリック
(↑これで、XXX_configテーブルの内容が表示されます)
・表示された内容のうち、conf_nameがdebug_modeの行について、
conf_valueの値を確認してください
(↑0:none 1:PHPデバッグ 2:Smartyデバッグ 3:DBデバッグ)
・画面上のタブから「SQL」をクリック
・画面に「データベース XXXXXXXX にSQL 照会を実行する」という
謎の言葉が書かれたテキストエリアがあることを確認
・このテキストエリアに、次の内容を入力して「実行する」ボタンを押す
update XXX_config set conf_value='1' where conf_name='debug_mode'その対処方法を追加していってます。
画面が真っ白になって、ワタシの頭も真っ白・・・。
Xoopsを使っていると、そんな経験をしてしまうことがあります。
そんな時の原因調査/対処法(の一例)をご紹介します。
※画面が真っ白になる原因は幾つか考えられます。
この文書では、その全てのケースを網羅した内容ではありませんので、ご注意くださいね。
コレやってみて【その1】
Xoops自体のファイル構成が壊れてしまっていることがあります。
原因は管理者さんが間違えて消してしまったり、時には原因不明で・・・。(怖
そんなときのために、次の(1)(2)を試してみて下さい。
(1)テーマファイルを調べてみる
画面が真っ白になった原因として、テーマファイルを消した可能性があります。
管理画面の一般設定→一般設定→テーマで指定したテーマを、ファイルごと消してしまった場合、
画面が真っ白になります。
それを調べるためには、次のようにします。
・FTPソフトでログイン
・Xoopsをインストールしたディレクトリの直下の「themes」ディレクトリに移動
・いま使っているテーマの名前のディレクトリがあるかどうか調べ、なければ再度アップロード
(2)Smartyのファイルを調べてみる
画面が真っ白になった原因として、Smartyのファイルが壊れていることがあるのです。(!)
それを調べるためには、次のようにします。
・FTPソフトでログイン
・Xoopsをインストールしたディレクトリの直下の「class」ディレクトリに移動
・「class」ディレクトリの直下の「smarty」ディレクトリに移動
・「smarty」ディレクトリの直下に、
「configs」「core」「plugins」という3つのディレクトリがあるかどうか調べ、
なければ再度アップロード
(筆者の経験で、「core」ディレクトリが何故か消えていたことがあります)
コレやってみて【その2】
上記の「コレやってみて(その1)」で調べても問題ない場合、
あとはXoopsを設定するときに間違いがなかったか調べます。
ただし、画面が真っ白なので、管理者でログインしたくてもログインできないことがありますね。
そこで、このときでも管理画面を何とか表示してみる裏ワザをご紹介します。
(1)画面真っ白状態でもなんとか管理画面を出してみる
次の手順を試してみて下さい。
・ダミーのhtmlファイルを作成
テキストエディタを開き、次の内容を記述し、適当な名前(例: xxx.html)で保存してください。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP" />
<meta http-equiv="content-language" content="ja" />
<title>自己管理 - 自己を管理する</title>
</head>
<body>
<form action="http://XXXXXXXXXX/user.php" method="post"> ユーザ名:
<input type="text" name="uname" size="26" maxlength="25" value="" />
<br /> パスワード:
<input type="password" name="pass" size="21" maxlength="32" />
<br />
<input type="hidden" name="op" value="login" />
<input type="hidden" name="xoops_redirect" value="" />
<input type="submit" value="ログイン" />
</form>
</body>
</html>
※↑この中で、
引用:
form action="http://XXXXXXXXXX/user.php" method="post"
の部分は、ご自身のXoopsサイトURLで書き換えてください。
・保存したhtmlファイルをブラウザで開く
・いつもの管理者用ログイン/パスワードを入力して、ログインボタンをクリック
(真っ白の画面が表示されるが、これはログインされた状態だったりするので、気にしない)
・ブラウザのアドレスバーの内容を変更
引用:
http://XXXXXXXXXX/user.php
から
引用:
http://XXXXXXXXXX/admin.php
に変更する
これで、管理画面が出てきたのではないでしょうか?
ここまでで、管理画面がまだ見れない場合、ちょっぴり重症です。
そんなときは、次の(2)を試してみてください。
(2)画面真っ白状態でもなんとかPHPデバッグにしてエラー内容を表示させてみる
画面は真っ白になるわ、管理画面は出ないわ、もう泣きたいアナタ。
あとは、PHPのエラー内容を画面に表示させて、調べるしかありません。。。
でも、管理画面が出ないと、PHPデバッグに変更できないですよね。
そんな時には、次の手順を試してみて下さい。
・phpMyAdminなどを使って、Xoopsで使っているDB(MySQL)にログインする
・画面左のテーブル一覧からXXX_configテーブルを選択
(↑XXXの部分はご自身の環境で読み替えて下さい)
・画面上のタブから「表示」をクリック
(↑これで、XXX_configテーブルの内容が表示されます)
・表示された内容のうち、conf_nameがdebug_modeの行について、
conf_valueの値を確認してください
(↑0:none 1:PHPデバッグ 2:Smartyデバッグ 3:DBデバッグ)
・画面上のタブから「SQL」をクリック
・画面に「データベース XXXXXXXX にSQL 照会を実行する」という
謎の言葉が書かれたテキストエリアがあることを確認
・このテキストエリアに、次の内容を入力して「実行する」ボタンを押す
・確認のため、もう一度、画面上のタブから「表示」をクリックして
conf_nameがdebug_modeの行のconf_valueを確認してください
ここまでで、あなたのXoopsはPHPデバッグモードになりました。
そこで、もう一度、今まで真っ白だった画面を表示してみましょう。
どうでしょう、何かエラーが表示されていないでしょうか?
例えば、↓こんな感じです。
Fatal error: _parse_resource_name():
Failed opening required
'/XXX/XXX/XXX/XXX/XXX/Xoops/class/smarty/core/core.load_resource_plugin.php'
(include_path='.:/usr/local/lib/php:/usr/local/lib/php/Smarty')
in /XXX/XXX/XXX/XXX/XXX/Xoops/class/smarty/Smarty.class.php on line 1651
Warning [PHP]: _parse_resource_name
(/XXX/XXX/XXX/XXX/XXX/Xoops/class/smarty/core/core.load_resource_plugin.php):
failed to open stream: Input/output error in file class/smarty/Smarty.class.php line 1651
このエラー内容がご自分で分かる場合には、頑張って自力で調査・対処してください。
※新ネタを拾ってきました。4月3日追記 by panacee
コレやってみて【その3】
↓のようなエラーメッセージがでる場合の対処方法1
引用:
Parse error: parse error, unexpected T_STRING in /home/sites/lolipop.jp/users/lolipop.jp-dp09141473/web/language/japanese/global.php on line 9
たぶん、文字コードのエラーじゃない?ってことで、
↓のそのまま、mainfile.phpに追加することで解消できるはずです。
引用:
if ( function_exists('mb_language') ) {mb_language ('Japanese');}
if ( function_exists('mb_internal_encoding') ) {mb_internal_encoding("EUC-JP");}
if ( function_exists('mb_http_output') ) {mb_http_output ('pass') ;}
上記3つのif文を、mainfile.phpの28.29行目下に入れて保存して、サーバーにUP。
これで、文字コード関係で画面真っ白になってた場合は、たぶん・・・・
あくまでもたぶん、大丈夫です。(笑)
あっそれと。これをするとヘッドラインの文字化けも解消されるようです。
※4月15日追記 by panacee
コレやってみて【その4】
”これやってみて3”をやってみたけど・・・まだたまに真っ白になる!
そうでしょ。そうなんです。
どうやら、mainfile.phpに追記するだけでは、ダメみたいです。
テキストエディターを開いて、↓をコピペして下さい。
引用:
php_flag register_globals Off
php_value session.use_only_cookies 1
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_input auto
php_value mbstring.http_output pass
php_flag mbstring.encoding_translation On
php_value mbstring.detect_order auto
php_value mbstring.substitute_character none
php_value output_handler none
1.上記内容を、htaccess.txtという名前で保存。
(このページ下に添付ファイルがあります。)
2.FTPでサーバーに繋げて、1番上の階層にUP。(mainfile.phpがある場所)
3.htaccess.txtを右クリックして、名前の変更をクリック。
4..htaccessに名前を変更する。
(↑ドットがあるのをお忘れなく。)
完了!
これで、文字化けや文字コードでのエラーにおける真っ白現象が解消されるはずです。
簡単だから、やってみてね。
※6月6日追記 by panacee
コレやってみて【その5】
今日も、サイトを開こうとしたらエラーメッセージが表示され開けませんでした。
ときたま、原因不明で画面真っ白になってindexページが開かないことがあると思います。
そんなときは、慌てず騒がず・・・。
indexページが開かなければ、URL/user.phpを開いてみて下さい。
user.phpが開けば、ログインできますから対処ができます。
トップページが開かなくとも、違うページなら開くことが多々あります。
または、入れているモジュールのトップページとかを呼び出してみて下さい。
それで開けば、開いたページからトップページにいってみて下さい。
ログインできたけど、管理画面に入ったら真っ白だった。
となったら、modules/newsのように、表画面に「編集」がリンクされてるページを呼び出して下さい。
その「編集」から管理画面に入れることもあります。
トップページが真っ白だったとしても、慌てず・・・
他のページから入れる場合が多々ありますので、やってみて下さいねー。
私は、この方法で何度も真っ白現象から復活できました。
もう1つ。
テーマのtheme.htmlの文字コードを間違えて保存したままUPしてませんか?
SHIFT-JIFで保存をかけていると、theme.htmlが認識されず真っ白になる場合があります。
EUCかUTF-8か?そのテーマの保存形式を確認して、
(日本語を入れてみて、文字化けにならないもの)
文字コード指定再読込みで保存しなおし、FTPを使ってアップしてみて下さい。
XOOPSは、ほんのちょっとのことで真っ白現象を起こしたりします。
マメに、バックアップを取るようにして下さいねー。(バックアップの仕方)
どうやっても、エラー内容が分からない場合には、誰か近くの詳しい人に聞くか、
Xoops本家に質問してみましょう。
ただし、Xoops本家に質問する前に、過去に同じことで苦しんでいた人が
既に解決してしまったかも知れませんので、事前によく検索しておきましょう。
それでも分からなくてXoops本家に質問してみる場合、
質問の仕方が悪いと怒られてしまうので、
質問フォーマットを確認しておきましょう。