フォーラム

dmsguestbookが動作しない (13 件の投稿)

  1. ringnir
    メンバー
    5 ヶ月前の投稿 #

    プラグインを有効にし、新規ページを作り、Settings > Basicにてそのページをセットしましたが、実際にそのページへアクセスすると、エラーとなって動作しません。エラーメッセージは以下のとおりです。

    Warning: fopen(/wp-content/plugins/dmsguestbook/language/0) [function.fopen]: failed to open stream: No such file or directory in /wp-content/plugins/dmsguestbook/dmsguestbook.php on line 721

    Warning: fclose(): supplied argument is not a valid stream resource in /wp-content/plugins/dmsguestbook/dmsguestbook.php on line 729

    言語テンプレートが読み込まれていないので、そのファイルの読み込みエラーだと思うのですが、解決方法がわかりません。

    MySQL 4.0.27
    PHP 5.2.5

  2. pienimyk
    メンバー
    5 ヶ月前の投稿 #

    はじめまして。
    出来ればご面倒でも、ご自身の情報(サーバとか)や、DMSGuestbookのverなど書かれた方が、お返事しやすいかもしれません。

    エラーについてですが、作者さんのサイトのFAQに似たようなエラーのっぽいモノがあります。

    英語なので手強いですが。
    ちなみに同じ物を私のサイトでも使い始めましたが(WP2.8+DMSGuestbook1.15.0)、ゲストブックとしては機能しています(まだ2.8に完全対応では無い様子ですが)。
    Guestbook settingsの「clear all」を押してから言語ファイル、実際表示させるページを設定したと記憶しています。

    すでにお試し済み&検討ハズレでしたらすいません。

  3. ringnir
    メンバー
    5 ヶ月前の投稿 #

    サーバーは80code.comです。
    DMSGuestbook のバージョンは1.15.0
    WPは2.7.1
    FAQの手順も試しましたが症状は変わりませんでした。

  4. pienimyk
    メンバー
    5 ヶ月前の投稿 #

    ringnir様

    FAQも試していらっしゃると言う事ですし、ringnirさんの方が私より、諸々、詳しいかと思うので(他の投稿を読ませて頂きました)、あまりお役には立てないと思うのですが、WP2.7.1+DMSGuestbook1.15.0の組合せがOKとして、言語テンプレートが読み込めない原因を考えると、
    ・パーミッションが違う
    ・セーフモード
    ・open_basedirが有効
    ・allow_url_fopenが無効
    くらいしか思いつかず・・。
    もっと詳しい方からレスが付けば良いのですが・・。

    ちなみに私が使用している環境は
    PHPVer : 5.1.6
    PHPセーフモード : オフ
    PHP URL fopen許可 : オン
    となっています。
    ご参考までに。

  5. ringnir
    メンバー
    5 ヶ月前の投稿 #

    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 の代入が機能していないように思えるんです。

  6. pienimyk
    メンバー
    5 ヶ月前の投稿 #

    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

  7. ringnir
    メンバー
    5 ヶ月前の投稿 #

    リンク先の画像を見ました。ありがとうございます。

    言語のプルダウンメニューはあるんですが、選択しても、
    Languageの行で
    english.txt
    のような設定値がないんです。
    該当項目は
    0
    となってます。

    エラーの該当行は、
    $handle = fopen ($abspath . "wp-content/plugins/dmsguestbook/language/" . $var_language, "r");
    なので、やっぱり$var_language に適切な値が代入されていないようです。

    新しいバージョンの1.15.1 も試しましたが同じ症状で機能しませんでした。

  8. shokun0803
    メンバー
    5 ヶ月前の投稿 #

    fopenでファイルを開くときに絶対アドレスを要求されているのではないでしょうか?
    該当行の直前でprint_r($abspath . "wp-content/plugins/dmsguestbook/language/" . $var_language);とかしてみてお使いのレンサバが要求している絶対アドレス(例:/home/hoge/www/など)になっているか確認してみてはいかがでしょう?

  9. ringnir
    メンバー
    5 ヶ月前の投稿 #

    $abspath への絶対アドレス代入は正しく機能しています。
    引用したエラーメッセージの絶対パス部分は消してあるんです。
    念の為にprint_rで表示してみましたが、正しいアドレスでした。

    動作が正しい場合は、例えば
    wp-content/plugins/dmsguestbook/language/english.txt
    となるはずが、
    wp-content/plugins/dmsguestbook/language/0
    となっているんです。

    Settings > Basic での言語ファイル設定時に$var_language にenglish.txt が代入されるはずなのですが、なぜか代入されず、0 という値になり、
    存在しないファイルを読み込もうとしてエラーになっているようです。

  10. ringnir
    メンバー
    5 ヶ月前の投稿 #

    言語ファイルを 0 とリネームすると、ファイルが読み込まれて正常動作しました。
    仕方ないので当面はこのまま使うことにします。

  11. pienimyk
    メンバー
    5 ヶ月前の投稿 #

    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でした。

    ご報告まで。

  12. ringnir
    メンバー
    5 ヶ月前の投稿 #

    日本語の言語ファイルの文字化けは、Terapad などのテキストエディタでエンコードをUTF-8N に変えれば直りました。UTF-8 だとBOM が入るので正常読み込みできないっぽいです。

  13. ringnir
    メンバー
    5 ヶ月前の投稿 #

    原因はIE7でした。
    Firefoxで設定したところ、問題なく言語ファイルをセットできました。
    ブラウザによる問題の切り分けを忘れていました。
    お騒がせしました。

返信

ログイン しなければ投稿できません。

About this Topic