ページ: 1
はじめまして。
nucleus 3.2 Ja-UTF8 をインストールし、install.phpの実行、及び管理サイトまでのログインは問題なくできたのですが、サイトを表示しようとすると「スキン エラー」とだけ出て全く表示されません。なおスキン編集画面内にはスキンが表示されます。
URLは
http://tamotamo.glwb.info/NU/
PHPとMySQLのバージョンは不明です。
何か情報はないでしょうか?
オフライン
広告の自動挿入が原因なのではないでしょうか?
header.incをincludeする時点ですでに自動挿入されている...とか?<たぶん違うと思うけど
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
そうかもしれませんね>広告表示。
別の無料サイトにも入れてみました。あまりにさっくり入るんで変なところでnucleusのすごさを感じてしまいました。
(MovableTypeも入れてみましたが結構めんどくさかった)
するとこちらは一応表示はされるのですが、明らかに変です。
http://tamotamo.incohost.com/NU/
うーん、やっぱり広告が入るようなところだと凝ったことはできないのかなあ。
でもスキン エラーという文字列だけ(ソース見ても「スキン エラー」としか書いてない)表示されるのってやっぱり他に原因がありそうな気もするのですよね。
オフライン
2番目の方、変ですか?
上下に広告は入るけど、気にならないような。
glwb.infoですが、実験してみようとregistしたのにメールがまだ来ないっす。
時間かかりました?
gmailにしたのがまずかったかなぁ。
[追記]
gmailじゃないアドレスですぐにレスポンスありました。
体力が持てば実験してみます。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
変じゃないと言えば変じゃないけどイメージとしてはタイトルのところも黄色かったような気がするのですが気のせい?正解が見れてないのでちょっとわからないですね。
それはともかくGlobalWebですが、確かにあんまりすぐにはメールが来なかったかもしれません。
あと、時刻のオフセットが正しくないので、午後に登録したのに過去にさかのぼって朝の7時ごろの送信時間で発信されていました。ですので時刻の新しい順で並べているとずいぶん下のほうに来るのでは。
オフライン
GlobalWebで実験してみました。
インストール時、スキンインポート時ともに
Warning: fwrite(): supplied argument is not a valid stream resource in /home/tampopo/www/n/nucleus/libs/skinie.php on line 142
Warning: rewind(): supplied argument is not a valid stream resource in /home/tampopo/www/n/nucleus/libs/skinie.php on line 143
Warning: fread(): supplied argument is not a valid stream resource in /home/tampopo/www/n/nucleus/libs/skinie.php on line 145
Warning: fclose(): supplied argument is not a valid stream resource in /home/tampopo/www/n/nucleus/libs/skinie.php on line 153
とエラーが出ますね。
当然、defaultスキンは中身ゼロ。
そりゃ、スキンエラーです。
対処方法はまたいつかゆっくり考えて見ますが...知識が足りないかも。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
どうもありがとうございました。
なるほど、インストール時点ですでにエラーしてましたか。
これはphpのエラーみたいですね。
わははは、ググって見たらすごく派手にエラー出しまくりのサイト発見…。
http://majiko.sunnyday.jp/machiuke/links.php
うーん、こいつの一番上にもあるけどどこかでpermissionの問題を起こしてるのかな。
とにかく、他のサイトであたってみるしかないですね。試しだと思って無料サイト使ったのが
問題だったかなあ。
ちなみにincohostの方も、今やったらアイテムの追加が一切出来なくなっていました。やれやれ。
オフライン
いやphpがどーのとか、パーミッションがどーのとかいうエラーではないと思います。
該当の箇所、私がAndyさん巻き込んで考えたコーディングが本家に取り込まれて、本家に改造されて...ってところで。つまりは原因は私?!
CDATAに絡むxmlのパースなんですけどね。
なんでnot a valid stream resourceなんでしょ。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
以下の話はスキンインポート時にありそうな問題なので、本件とは直接関係ないかもです。
nakahara21さんが書かれたエラーから察するに、一時ファイルの作成に失敗していますね。
おそらく tmpfile() が正常に実行できてないのではないかと。
Windows 系の OS ではうまくいかないケースがあるのかも知れませんので、phpinfo() していただけます?
# OS が用意してくれる一時ファイル用ディレクトリじゃなくて、
# どこかパーミッション 777 の捨てディレクトリを作って、そこに作成するのが確実なのかも。
kitsune.info -- from The United Native Comedians of Osaka
オフライン
わ、おつきあいありがとうございます。
一応、
http://tampopo.glwb.info/
に全部をさらしています。
(重要な箇所にはマスクかけたつもりなんですが、他にさらしたらダメなとこを見つけたら教えてください。)
ログインユーザーでないと見れないかも?と思い、
一応ローカル保存したものを
http://tampopo.glwb.info/phpinfo.htm
に上げてみました。
Windowsではないようです。
ある意味、何でも揃っていて、しかも「生成り」なかんじで、いいサーバのような気が...
お試しスクリプトとかあったらupして試したいと思います。
お暇があればよろしくお願い申し上げます。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
nakahara21さんが書かれたエラーから察するに、一時ファイルの作成に失敗していますね。
おそらく tmpfile() が正常に実行できてないのではないかと。
http://www.globalweb.com.ru/faq.php
ここ?
FAQに「emailやsystem関数はNG」と書いてるみたい。
/tmpも、あふれると他のユーザに迷惑がかかるからtmpfile()もNGにしてるのかもしれません。
オフライン
これまた親切にありがとうございます。
で。
tempfile使わないで自分のディレクトリ下に一時書き込み用ファイルを666で作成して試してみました。
$filename = $DIR_MEDIA.'tmp.file';
$temp = fopen($filename, 'w');
fwrite($temp, $tempbuffer);
rewind($temp);
ってなかんじで。
ところが、正常に動作しません。
(もちろん、tmp.fileにはskinbackup.xmlの内容が書き込まれています)
tmpfileだけの問題ではなさそうです。
うーーん、もっと細かく検証しないとダメそうです...
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
skinie.phpをデバッグモード($this->debug = 1;)で実行しても何も吐き出されません。
うーーん。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
できました。問題解決。
http://forum.nucleuscms.org/viewtopic.php?t=7114
にも書きましたが。(なんだAndyさん考えててくれたのね)
skinie.phpのfunction readFileを以下のコードに置き換えてください。
function readFile($filename, $metaOnly = 0) {
// open file
$this->fp = @fopen($filename, 'r');
if (!$this->fp) return 'Failed to open file/URL';
// here we go!
$this->inXml = 1;
while ( ($buffer = fread($this->fp, 4096) ) && (!$metaOnly || ($metaOnly && !$this->metaDataRead))) {
$err = xml_parse( $this->parser, $buffer, feof($this->fp) );
if (!$err && $this->debug){
echo 'ERROR: ', xml_error_string(xml_get_error_code($this->parser)), '<br />';
}
}
// all done
$this->inXml = 0;
fclose($this->fp);
}
3.2だからできるのかもしれません。
それと、ちょっとだけ前の世代のスキンを読み込んだらどうなるのかの保証はできません。
CDATA問題がどういう変遷をたどっているのかついて行ってないので...
コメントアウトしてるCDATA読みとり置換コードを有効にしたい場合は、tempbuffer関連をそのまま生かして実行することにも成功しました。
この場合は、tmpfileは使わず、あくまでも777ファイルに書き込んで、fcloseしたあとにもう一回fopenすることでxmlのパースをしてくれました。
でも、全然2度手間で意味がないので、上記のようにすっきりと。
私が余計な手を入れる前の状態に戻ったというわけで
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
できました。問題解決。
http://forum.nucleuscms.org/viewtopic.php?t=7114
にも書きましたが。(なんだAndyさん考えててくれたのね)
まみおさん,thank you.
考えていたのですがこっちのと同じ原因かどうかもよく分からなくて。
本家の方もこれで解決してくれるといいのですが。
オフライン
ついでに、Andyさんが考えていた方式(tempnam)の方も解決策を書いておきました。
なぜだかわかんないんですが、rewindじゃダメで、fcloseしてもう一回fopenしたら成功しました。
unlinkは最後でやってます。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
というわけで、無事にNucelusをインストールできたサイトは
http://tampopo.glwb.info/n/
です。
実験に使おうかしらん。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
うまくいきました!どうもありがとうございます。
(自前サーバいじるほうに集中してたんでちょっと後回しになってしまった)
会社の自前サーバでは現在スキンなどをいじり中なんですが、こっちにも移植してみようかな。
とはいえCSSの知識もないんで、h2とh3がなぜか同じ大きさになってしまうなど苦労してますが(笑)。
オフライン
ページ: 1