はじめまして。
出来ればご面倒でも、ご自身の情報(サーバとか)や、DMSGuestbookのverなど書かれた方が、お返事しやすいかもしれません。
エラーについてですが、作者さんのサイトのFAQに似たようなエラーのっぽいモノがあります。
英語なので手強いですが。
ちなみに同じ物を私のサイトでも使い始めましたが(WP2.8+DMSGuestbook1.15.0)、ゲストブックとしては機能しています(まだ2.8に完全対応では無い様子ですが)。
Guestbook settingsの「clear all」を押してから言語ファイル、実際表示させるページを設定したと記憶しています。
すでにお試し済み&検討ハズレでしたらすいません。
サーバーは80code.comです。
DMSGuestbook のバージョンは1.15.0
WPは2.7.1
FAQの手順も試しましたが症状は変わりませんでした。
ringnir様
FAQも試していらっしゃると言う事ですし、ringnirさんの方が私より、諸々、詳しいかと思うので(他の投稿を読ませて頂きました)、あまりお役には立てないと思うのですが、WP2.7.1+DMSGuestbook1.15.0の組合せがOKとして、言語テンプレートが読み込めない原因を考えると、
・パーミッションが違う
・セーフモード
・open_basedirが有効
・allow_url_fopenが無効
くらいしか思いつかず・・。
もっと詳しい方からレスが付けば良いのですが・・。
ちなみに私が使用している環境は
PHPVer : 5.1.6
PHPセーフモード : オフ
PHP URL fopen許可 : オン
となっています。
ご参考までに。
open_basedir は no value
allow_url_fopen は on
セーフモードは off
になっています。
パーミッションはプラグインのディレクトリが755
phpが644
です。
お尋ねしますが、Guestbook settings のBasicにて
ID Page Pagestatus Guestbook Language
80 BBS publish #1 0
のような設定になっていますか?
もし違うなら、エラーメッセージの該当行で$var_language の代入が機能していないように思えるんです。
ringnir様
ID Page Pagestatus Guestbook Language
80 BBS publish #10
の部分ですが、Languageの下にプルダウンメニューで各言語のtxtが選べる状態。
言語設定が済んでいれば、#10の横に選んだtxtファイルが表示されています。
ringnirさんの設定画面では最初から言語のプルダウンが表示されていない状態ですか??
パーミッションは当方、プラグインディレクトリ705、phpは604ですが、PHPも特に設定が当方と変わりがなさそうなので、試しにWP2.7.1+DMSGuestbook1.15.0の組合せでインストールから試してみました。設置に問題はありませんでした(スクリーンショットを撮ったので、参考にしていただければと思います)。
DMSGuestbook覚書
私の分かる部分ではringnirさんと当方に違いが無いので、設置できそうなんですが・・。
もうちょっと調べてみますm(_ _)m
リンク先の画像を見ました。ありがとうございます。
言語のプルダウンメニューはあるんですが、選択しても、
Languageの行で
english.txt
のような設定値がないんです。
該当項目は
0
となってます。
エラーの該当行は、
$handle = fopen ($abspath . “wp-content/plugins/dmsguestbook/language/” . $var_language, “r”);
なので、やっぱり$var_language に適切な値が代入されていないようです。
新しいバージョンの1.15.1 も試しましたが同じ症状で機能しませんでした。
fopenでファイルを開くときに絶対アドレスを要求されているのではないでしょうか?
該当行の直前でprint_r($abspath . “wp-content/plugins/dmsguestbook/language/” . $var_language);とかしてみてお使いのレンサバが要求している絶対アドレス(例:/home/hoge/www/など)になっているか確認してみてはいかがでしょう?
$abspath への絶対アドレス代入は正しく機能しています。
引用したエラーメッセージの絶対パス部分は消してあるんです。
念の為にprint_rで表示してみましたが、正しいアドレスでした。
動作が正しい場合は、例えば
wp-content/plugins/dmsguestbook/language/english.txt
となるはずが、
wp-content/plugins/dmsguestbook/language/0
となっているんです。
Settings > Basic での言語ファイル設定時に$var_language にenglish.txt が代入されるはずなのですが、なぜか代入されず、0 という値になり、
存在しないファイルを読み込もうとしてエラーになっているようです。
言語ファイルを 0 とリネームすると、ファイルが読み込まれて正常動作しました。
仕方ないので当面はこのまま使うことにします。
ringnir様 shokun0803様
まずはringnirさん取りあえず(?)動作してなによりです。
実は色々試してみるうちにLanguage settingsエラーが出たので、対応策を記載します。
まず、言語ファイルを日本語で作った場合、Language settingsで文字化け。
これはadmin.phpとdmsguestbook.phpの「htmlentities」を「htmlspecialchars」に置き換え。
参照元はMOMENTS様
ひょっとしたら、私のような未熟者がぶちあたる内容かもしれませんが。。。
Language settingsにて自分で作ったtxtファイルを編集すると何故か
Warning: fopen(/home/sites/heteml/サイトパス/pienikissa/vihko/wp-content/plugins /dmsguestbook/language/) [function.fopen]: failed to open stream: Is a directory in /home/sites/heteml/サイトパス/pienikissa/vihko/wp-content/plugins /dmsguestbook/admin.php on line 1993
と、表示。編集(SAVE)が出来ない。
fopen〜と、何だかringnirさんのところと似たエラーだったのでちょっと焦りましたが。。
これはファイル名が原因でした。
例えば、jap_2.txtとかjap-2.txtといった感じで、ハイフンやアンダーバーが入っているとエラーが出ます。
普通にjap.txtにすれば問題ないはず。
デフォルトで入っているtxtファイルにもアンダーバーが使われていたので、アンダーバーは大丈夫と思いきや、NGでした。
ご報告まで。
日本語の言語ファイルの文字化けは、Terapad などのテキストエディタでエンコードをUTF-8N に変えれば直りました。UTF-8 だとBOM が入るので正常読み込みできないっぽいです。
原因はIE7でした。
Firefoxで設定したところ、問題なく言語ファイルをセットできました。
ブラウザによる問題の切り分けを忘れていました。
お騒がせしました。