Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2009-05-04 09:49:20

starfish
メンバー
登録日: 2009-05-04
投稿: 6

Re: インストール後管理画面は正常表示、サイトが真っ白

はじめまして。こちらの掲示板にはじめて書き込みいたします。
よろしくお願いいたします。

タイトルのところでつまずいてしまいました。
Nucleusのインストールは無事終了し、管理画面やヘルプも表示されるのですが、サイトを見てみると真っ白で、サンプル画面が表示されません。
ソースを見てみたら、<body>の途中でタグが中途半端に途切れていました。

フォーラムやネットで検索して調べてみましたが、同じ状況のトピックを見つけられませんでした。
データベースの中身を削除し、Nucleusをアンインストールして、最初からインストールしなおしてみたのですが、二度目も同じ状況です。

Nucleusのバージョン 3.41
文字コード UTF-8
サーバ さくらインターネット スタンダード
PHPのバージョン 5.2.8
MySQLのバージョン 5.1.34


解決方法がありましたら、ご教授ください。
よろしくお願いいたします。

オフライン

#2 2009-05-05 23:43:08

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: インストール後管理画面は正常表示、サイトが真っ白

インストール時の文字化け問題は奥が深いので、順番に辛抱強くおつきあいください。
きっと、後続する子羊の道しるべにもなりましょう。

1.途中で切れているHTMLソースの周辺をコピペ願います。
これで、スキン(ページの骨格をつくるデータ)の読込に問題があるのか、
アイテム(blogの記事そのもの)に問題があるのかアタリがつけられるかも。

2.データベースの作成手順、UTF-8で作成したかどうかを教えてください。

3.phpMyAdminが使えれば、phpMyAdminでデータベースが化けてないか教えてください。

4.管理画面から、「アイテムの編集/削除」で、デフォルトの記事「Nucleus CMS バージョン3.41へようこそ」が化けてないか確認してください。

5.上記記事を削除して、半角アルファベットだけの記事を投稿して、サイト確認してみてください。

6.同様に、日本語文字列の記事を新規投稿して、サイト確認してみてください。

7.phpの文字コード設定を教えてください。特にしていなければ、下記のコードを.htaccessに記述してみてください。

php_flag register_globals Off
php_value default_charset UTF-8
php_value mbstring.language Japanese
php_value mbstring.internal_encoding UTF-8
php_flag  mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output pass

8.まだダメなら、サーバのDB設定に問題があって、文字コードをDBとNucleusで合致させることが出来ず、
自動変換の判定に失敗している可能性が高いです。
Nucleusのコアファイルに少しだけ手を入れます。

install.phpの573行目、588行目、668行目
\nucleus\libs\globalfunctions.phpの521行目
計4箇所に、

/*/ <add for garble measure>

という記述がありますので、二文字目の「*」を削除して上書き保存してください。

// <add for garble measure>

インストールをやり直してください。
サーバのDB設定に問題があるケース用の、文字コードを強制指定するコードが有効になります。

9.そろそろ解決してるんじゃないかと期待したいところ。

ご報告お待ちしております。

オフライン

#3 2009-05-06 10:51:23

starfish
メンバー
登録日: 2009-05-04
投稿: 6

Re: インストール後管理画面は正常表示、サイトが真っ白

きゃしゃさん、お返事ありがとうございます。
たくさんのアドバイス、心強いです。いくつか調べてみました。

1.以下に真っ白ページのソースをコピペします。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<!-- meta information for search engines -->
<meta name="generator" content="Nucleus CMS v3.41" />
<meta name="name" content="サイト名" />
<meta name="description" content="" />

<!-- prevent caching (
<!-- navigation & page titles -->

<!-- index: page title and extra navigational links -->
<title>サイト名</title>
<link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />
<link rel="archives" title="Archives" href="index.php?archivelist=1" />
<link rel="top" title="Today" href="index.php?blogid=1" />

<!-- item: page title and extra navigational links -->
<title> » </title>
<link rel="archives" title="
</head>
<body>
<!-- page header -->

<!-- begin wrapper divs -->
<div id="mainwrapper"><div id="wrapper">

<!-- page content -->
<div id="container">
<div class="content">

</div>
</div>

<!-- page menu -->
<h2 class="hidden">

ここで終わっています。タグも中途半端なものがあるような気がします……。

2.データベースの作成手順
さくらインターネットのコントロールパネルから作成しました。文字コードの選択はなかったですが、phpMyAdminの画面ではUTF-8となっていました。


3.phpMyAdminでデータベースが化けてないか
テーブルの中身(という言い方でいいんでしょうか)は英語で表示されたので、文字化けはしていないと思います。
データベースもphpMyAdminも勉強し始めたばかりで心もとないのが申し訳ないです。


4.管理画面から、「アイテムの編集/削除」で、デフォルトの記事「Nucleus CMS バージョン3.41へようこそ」が化けてないか
「これがデフォルトの記事かな?」と思うタイトルの「Nucleus CMS」というアイテムはあるのですが、編集画面に入ってみても中身の記事がありません。タイトルだけが管理画面にあります。


5.上記記事を削除して、半角アルファベットだけの記事を投稿して、サイト確認
中身がないのでとりあえず上記記事を残したまま、新しく半角英字だけの記事を投稿してみました。
管理画面でタイトルと中身が表示されるのですが、サイトはやはり真っ白のままです。編集画面に入ってみると記事は保存されているようです。ソースはコピペしたものとまったく同じでした。


6.同様に、日本語文字列の記事を新規投稿して、サイト確認
日本語の記事を投稿してみたところ、記事は作られているようなのですが、管理画面にタイトルと中身が表示されない状態です。編集画面に入ってみると中身は何も保存されていません。
サイトはやはり真っ白です。ソースに変化はありませんでした。

とりあえずここまでは確認してみました。
長くなってしまってすみません。
引き続き、7番目以降を調べてみようと思います。
ここまでのことで何かありましたら、またアドバイスいただければうれしいです。
よろしくお願いいたします。

オフライン

#4 2009-05-06 16:05:48

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: インストール後管理画面は正常表示、サイトが真っ白

1,4,6 ミゴトに日本語が現れたところでスキンパーツも記事も後ろが切れてますね。
("サイト名"のところはホントはstarfishさんのサイトの名前が半角英数で入ってるんですよね?)
DBの文字コード問題と思います。
とりあえず、根本解決にはならないのですが、スキンがこのままでは絶対サイト表示されず検証がしにくいので、
以下のことをやってみてください。とりあえずです。

a.FTPで\skins\default\skinbackup.xmlをskinbackup.xml.bakにリネーム。
  同じくskinbackup.xml.orgをskinbackup.xmlにリネーム。
b.管理エリアから、
  レイアウト設定>読込/書出>ローカルファイルから読み込み
  プルダウンから"default"を選んで「読み込み」ボタン
  "既に存在するスキンを上書きする"チェックを入れて、上書き

<!--16:16 追加 ここから-->
  "メインの目次ページ"タイプスキンそのものにも日本語が入ってますので、途中で切れてるはず。
  スキン編集>default>メインの目次ページ で、以下のコードに差し替えてください。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">
<head>
<%parsedinclude(head)%>
<%parsedinclude(navigation)%>
</head>
<body>
<!-- page header -->
<%parsedinclude(header)%>

<!-- begin wrapper divs -->
<div id="mainwrapper"><div id="wrapper">

<!-- page content -->
<div id="container">
<div class="content">
<%parsedinclude(additemform)%>
<%blog(default/index,10)%>
</div>
</div>

<!-- page menu -->
<h2 class="hidden">SIDE BAR</h2>
<div id="sidebarcontainer">
<%parsedinclude(sidebar)%>
</div>

<div class="clearing"> </div>
</div></div>
<!-- end wrapper divs -->

<!-- page footer, copyrights, etc. -->
<div id="footer">
<%parsedinclude(footer)%>
</div>

</body>
</html>

<!--/追加 ここまで-->

これで、スキンのインクルードパーツをDBからではなくファイルから読み込むようになりますので、
サイトの骨格は壊れなくなるんじゃないかと思います。
※まだ表示は壊れたままです。日本語アイテムは表示されません。

3. phpMyAdminで、MySQL の文字セットが"UTF-8 Unicode (utf8)",
MySQL の接続照合順序が"utf8_unicode_ci"か"utf8_general_ci"になってるか確認してください。
接合順序が違っていれば変更してください。

データベースを選択して、nucleus_item>表示 で、記事が化けてないか確認してください。

んでは。

オフライン

#5 2009-05-07 20:58:14

starfish
メンバー
登録日: 2009-05-04
投稿: 6

Re: インストール後管理画面は正常表示、サイトが真っ白

きゃしゃさん、お返事ありがとうございます。
”サイト名”のところは仰るとおり、自サイト名が入っています。書いたつもりが書き忘れていました、すみません。

教えていただいたとおりにFTPでスキンファイル2つをリネームし、スキンを上書きして保存、メインの目次のコードを差し替えて保存しました。

ここまで試して、サイトを表示してみました。
すると、「SIDE BAR」という文字が表示され、リンクが張られていたのでクリックしてみたら、画面上部に黄色いバーと自サイト名が表示されました。(ほかは何も表示されていません)

phpMyAdminの文字セットは"UTF-8 Unicode (utf8)"、接続照合順序は"utf8_unicode_ci"であることを確認しました。

データベースの「nucleus_item」を表示してみましたら、

SELECT * 
FROM `nucleus_item` 
LIMIT 0 , 30

とありましたので、文字化けはしていないと思います。(解釈はこれで合ってますでしょうか……)

今のところはこんな感じです。
また何かアドバイスをいただけましたらうれしいです。よろしくお願いします。

オフライン

#6 2009-05-07 22:34:09

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: インストール後管理画面は正常表示、サイトが真っ白

あぁ!ごめんなさい。
parsedincludeの参照先ファイル名変えなきゃダメだ…
メインの目次スキンを以下に。お手間掛けます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">
<head>
<%parsedinclude(inc/head.inc)%>
<%parsedinclude(inc/navigation.inc)%>
</head>
<body>
<!-- page header -->
<%parsedinclude(inc/header.inc)%>

<!-- begin wrapper divs -->
<div id="mainwrapper"><div id="wrapper">

<!-- page content -->
<div id="container">
<div class="content">
<%parsedinclude(inc/additemform.inc)%>
<%blog(default/index,10)%>
</div>
</div>

<!-- page menu -->
<h2 class="hidden">SIDE BAR</h2>
<div id="sidebarcontainer">
<%parsedinclude(inc/sidebar.inc)%>
</div>

<div class="clearing"> </div>
</div></div>
<!-- end wrapper divs -->

<!-- page footer, copyrights, etc. -->
<div id="footer">
<%parsedinclude(inc/footer.inc)%>
</div>

</body>
</html>

phpMyAdminはこの辺チェックしてみてください。


Attachments:
gif pypmyadmin.gif, Size: 28.58 KiB, Downloads: 10,062

オフライン

#7 2009-05-08 20:33:40

starfish
メンバー
登録日: 2009-05-04
投稿: 6

Re: インストール後管理画面は正常表示、サイトが真っ白

きゃしゃさん、いつもありがとうございます。
いえ、こちらこそ初心者におつきあいくださり、ていねいに教えていただけて感激しております。

メインの目次スキンを、差し替えてみましたところ、サイドバーが表示されました!
ただし、サイドバーではなくメインの記事部分になのですが。でもだいぶ進歩したような気がします。

また、phpMyAdminは記事の中身のところだったんですね、失礼しました(汗)
貼ってくださった画像を参考に調べてみましたが、データベースに記事タイトルと時間は記録されているのですが、記事そのものがありませんでした。ibody,imoreのどちらも空白になっています。

今のところ、こんな状況です。お手数をおかけしていますが、よろしくお願いします。

オフライン

#8 2009-05-08 22:17:18

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: インストール後管理画面は正常表示、サイトが真っ白

ibody,imoreともに空白なんですね。
てことは、やっぱりデータベースに日本語が一切入っていってないんですね。
ないもんは表示されないので、いよいよ、データベースに書き込めるようにしなくてはです。

[size=150:jyanyq7t]7番、8番をやっちゃってください。
つまり、インストールやり直しです。
データベースを初期化して、修正したコアファイルをアップロードしなおして、
インストール作業やってください。

こちらのケースと同じかと思います。
日本語の投稿ができない
これまでは、「SET NAMESしてください」ってFAQだったんですが、3.41日本語版では
その為のコードがコメントアウトで仕込んであります。
文字コード別パッケージではなく共通パッケージになったり、スキンパーツをDBから読むようになったり、
色々仕様変更もありましたので、starfishさんにはながながと手間をとらせてしまいました。
「Nucleusうまくインストールできねーマジ使えねー」とか投げないでくれてよかった。

MySQL4.1以降の文字化けはレンタルサーバの場合皆さん苦労しているようです。
http://www.google.co.jp/search?num=100& ... 6%E3%81%91

では、成功を祈ります。

オフライン

#9 2009-05-09 16:45:41

starfish
メンバー
登録日: 2009-05-04
投稿: 6

Re: インストール後管理画面は正常表示、サイトが真っ白

きゃしゃさん、いつもていねいなお返事をありがとうございます。
やっぱりデータベースに日本語が保存されてないんですね……。
7番と8番を実行してみました。

まず7番なんですが、.htaccessに記述してみたところ、500エラーが出ました(汗)
さくらインターネットのコントロールパネルを眺めてみたところ、PHPの設定についてのページがありまして、そこに「.htaccessへphp-flagやphp-valueの記述をすると500エラーが出る設定になっている」とありました……。
その代わりに、コンパネからphp.iniの編集ができるようです。

で、とりあえず8番を実行してみました。
データベースの中身をすべて削除してNucleusをアンインストール。
/*/ <add for garble measure>
の記述を変更して、インストールをやり直しました。
すると、今度はサイトを表示しようとするとこんなエラーが出ました。

Page headers already sent
The page headers have already been sent out in /home/自サイトアカウント名/www/インストールしたディレクトリ名/nucleus/libs/globalfunctions.php line 1. This could cause Nucleus not to work in the expected way.

Usually, this is caused by spaces or newlines at the end of the config.php file, at the end of the language file or at the end of a plugin file. Please check this and try again.

If you don't want to see this error message again, without solving the problem, set $CONF['alertOnHeadersSent'] in globalfunctions.php to 0

こんがらがってきちゃいました(汗)
ちょっと現実逃避して、貼ってくださったPHPと文字化けの検索結果のページをあちこち見ていたら、さくらインターネットでの文字化けで苦労されてる方が意外に多いんだなあと思いました。
さくらのMySQLってクセがあるんでしょうか……(それも分からないほどの初心者なんですが)
正直心が折れかけていますが、きゃしゃさんがこれだけ教えてくださってるんだから!と、何とか頑張ろうとは思うものの、不勉強な私の手に負えないような気もしてきちゃいました。

とりあえず、今はこんなところです。まだ何か打つ手があれば、よろしくお願いします。

オフライン

#10 2009-05-09 17:14:23

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: インストール後管理画面は正常表示、サイトが真っ白

さくらって.htaccessにphp設定書けなくて、php.ini編集できるんだ。ほえー。
ほいだら、php.iniにこれ書いてみてください。
<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?p=24650#24650">viewtopic.php?p=24650#24650</a><!-- l -->

mbstring.language = Japanese 
mbstring.encoding_translation = off 
mbstring.http_input = pass 
mbstring.http_output = pass 
mbstring.internal_encoding = UTF-8 
mbstring.substitute_character = none 
mbstring.detect_order = SJIS,UTF-8,EUC-JP,JIS,ASCII

#mbstring.encoding_translationはoffの方がいいんですか?教えて詳しい人!

で、エラーの方ですが、globalfunctions.phpの1行目に余計な改行を入れてしまっていないか確認してください。
ついでに、オシリも。

#エラーメッセージ、言語ファイル化してあるけど反映漏れてますね…

<p>%sすでにページのHTTPヘッダが送出されており、Nucleusが正常に動作しなくなる可能性があります。</p><p><code>config.php</code>やランゲージファイル、その他プラグインのファイルの終わりに、余分な改行や文字列がないか確認してもういちどアクセスしてみてください。</p><p>根本的な解決をせずにこのメッセージを表示させなくするには、<code>globalfunctions.php</code>の冒頭の<code>$CONF[\'alertOnHeadersSent\']</code>を<code>0</code>に設定します。</p>

あたしも力不足で折れそうですが、一緒に頑張りましょう!!

オフライン

#11 2009-05-10 08:12:43

starfish
メンバー
登録日: 2009-05-04
投稿: 6

Re: インストール後管理画面は正常表示、サイトが真っ白

きゃしゃさん、おはようございます。
できましたー!解決しました!
日本語でサンプルがきちんと表示されました。

色々試してみたのでちょっとややこしいんですが、成功した手順を書いてみます。

mbstring.language = Japanese 
mbstring.encoding_translation = off 
mbstring.http_input = pass 
mbstring.http_output = pass 
mbstring.internal_encoding = UTF-8 
mbstring.substitute_character = none 
mbstring.detect_order = SJIS,UTF-8,EUC-JP,JIS,ASCII

教えていただいた上記のコードをphp.iniに記述してみたのですが、サイトは「いらない改行が入ってるよ」のエラーが出たままでした。

とっておいたnucleus/libs/globalfunctions.phpのオリジナルとコメントアウトしたものを比べてみましたが、改行を入れてはいませんでした。おかしいなーと思いつつ、とりあえず原点に戻って一番最初に教えていただいたところから始めてみようと思い、以下を実行してみました。

1.再度データベースとNucleusを削除。
2.php.iniの中身を削除。
3・install.phpとnucleus/libs/globalfunctions.phpの「/*/ <add for garble measure>」をコメントアウト。前回、「UTF-8」で保存してインストールし、エラーが出たことを思い出し、なんとなく「SHIFT-JIS」で保存。
4.またまたインストール。

恐る恐るサイトを確認してみたところ、「Nucleus CMS バージョン3.41へようこそ」の記事が!
日本語もちゃんと表示されています。テスト投稿してみたところ、正常に表示されました。
この瞬間は画面前でガッツポーズしてしまいました。
ひょっとして、「UTF-8」で保存したのがエラーの原因だったんでしょうか……?
インストールの手順を憶えてしまうくらい何度もやり直しましたが、うまくいって本当にうれしいです。
サイトをつくるのはまだまだこれからですが、すごく楽しみになってきました。

きゃしゃさんに色々教えていただかなかったら、とっくに挫折していました。
あらためてお礼を申し上げます。お世話になりました。
本当にありがとうございました!

オフライン

#12 2009-05-10 09:45:15

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: インストール後管理画面は正常表示、サイトが真っ白

おめでとうございます!おつかれさまでした!
我が事のようにウレシイです big_smile
コアのphpファイルはマルチバイト文字使ってないので(言語ファイル以外)UTF-8で保存しても
同じはずですけど、ひょっとして、「BOMあり」で保存しちゃってました?

starfishさんの試行錯誤のおかげで、ハマリポイントや対策も見えてきました。
ありがとうございます。きっと後世の役に立つことでしょう。

さくらのSQLがダメなわけではなくって、レンタルサーバの場合どうしても相性とか運とかあるみたいです。
(もっとも、気のきいた設定にしてくれていればトラブルは減るんでしょうけれど)
同じレンタルサーバ会社のサービスでも収容サーバによって設定違ったりするので、
いちがいに「ココならこう」って言えない感じ。

オフライン

#13 2009-12-28 23:34:34

Griffin
メンバー
登録日: 2009-12-28
投稿: 8

Re: インストール後管理画面は正常表示、サイトが真っ白

私もさくらインターネットのユーザーで、starfishさんと全く同じ症状になりました。

以下、starfishさんのコメントを引用させていただきます。

1.再度データベースとNucleusを削除。
2.php.iniの中身を削除。
3・install.phpとnucleus/libs/globalfunctions.phpの「/*/ <add for garble measure>」をコメントアウト。前回、「UTF-8」で保存してインストールし、エラーが出たことを思い出し、なんとなく「SHIFT- JIS」で保存。
4.またまたインストール。

3.のところですが
install.phpの初期画面の一番上、UTF-8ではなく、EUC-JPですね。

これでインストールすると成功しましたよ。

starfishさん、きゃしゃさん、ありがとうございましたm(_ _)m

オフライン

Board footer