ホーム > フォーラム > 質問箱 > XCL2.1.8 > ProtectorでFatal error

ProtectorでFatal error
投稿者: owsui | 投稿日時: 2010/6/1 19:33 | 閲覧: 7260回
owsui

XCL2.1.8をインストールして、Protectorの3.5をインストールしようとしています。
Protectorの一般設定で「このサイトで有効にするフィルター 」の欄に目的のファイル名を入れて送信すると下記のエラーになります。

Fatal error: Cannot redeclare class protector_postcommon_post_need_multibyte in /home/(レンタルサーバー上の私のユーザー名)/XOOPS_TRUST_PATH/modules/protector/filters_enabled/postcommon_post_need_multibyte.php on line 6

どなたか解決方法を教えて頂けないでしょうか。
全くの初心者です。よろしくお願いいたします。

コメント(3)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: ProtectorでFatal error 
投稿者: owsui | 投稿日時: 2010/6/2 9:37
owsui

すみません。もう一度よく説明を読んでみまして、私の使い方が悪かったのがわかりました。と同時に、他の不明点が出ました。

説明に、
「・・・用意されたフィルタープラグインを、XOOPS_TRUST_PATH/modules/protector/filte​rs_enabled/ にコピーすることで、そのプラグインが有効化されます。
デフォルトでは、precommon_badip_message.phpだけが有効になっています。」

と、ありましたので有効にしたいプラグインをfilters_enabledのフォルダに入れ、一般設定で「このサイトで有効にするフィルター」の欄に同じファイル名を入れていました。

「このサイトで有効にするフィルター」では、「filters_byconfig内のファイル名を1行ずつ指定します」とありました。読み違えていました。filter_enabledのフォルダーにははじめから入っていたprecommon_badip_message.phpだけを残して削除しました。改めて目的のファイルがfilter_byconfigに入っていることを確認して「このサイトで有効にするフィルター」を指定するとエラーがでなくなりました。

ただ、設定の仕方として、
「このサイトで有効にするフィルター」でfilters_byconfig内のファイルを指定するのと、
filter_enabledフォルダにファイルを入れて置くのとどちらが良いのか、どちらでも同じことなのかがわかりません。

またしても説明の読み方が悪いのかも知れません。
ご存じの方にご教示頂ければと思います。
Re: ProtectorでFatal error 
投稿者: SAK-AXYZ | 投稿日時: 2010/6/2 22:20 | 親コメント: #20528
SAK-AXYZ
引用:
「このサイトで有効にするフィルター」でfilters_byconfig内のファイルを指定するのと、
filter_enabledフォルダにファイルを入れて置くのとどちらが良いのか、どちらでも同じことなのかがわかりません。


GIJOE氏はちゃんと、trust_pathについて以下のように記されていますね。
「XOOPS_TRUST_PATHは、複数サイトに利用出来る仕様なので、あるフィルターをサイトによって使い分けたいケースもあるでしょう。
 その場合は、Protectorの一般設定に、利用したいフィルター名を記述してください。」

つまり、同一サーバ領域内の複数のxoopsサイトで、1つのtrust_pathを共用利用する場合は
Protectorの一般設定に、利用したいフィルター名を記述することになります。
filter_enabledフォルダにファイルを設置してしまうと、一般設定での設定内容に関係なく
filter_enabledフォルダ内のすべてのフィルタが作動するからです。

なので、後々に同一サーバ領域内に他にもxoopsサイトを組む可能性があるのなら
一般設定に記入する方法で。
そうでない(=そのサーバ領域でのxoopsサイトは未来永劫、1つだけなのであれば
filter_enabledフォルダに設置する方法で、という使い分けをオススメします。
Re: ProtectorでFatal error 
投稿者: owsui | 投稿日時: 2010/6/3 11:30 | 親コメント: #20529
owsui

SAK-AXYZさん
ご回答、ありがとうございます。

引用:
GIJOE氏はちゃんと、trust_pathについて以下のように記されていますね。
「XOOPS_TRUST_PATHは、複数サイトに利用出来る仕様なので、あるフィルターをサイトによって使い分けたいケースもあるでしょう。
 その場合は、Protectorの一般設定に、利用したいフィルター名を記述してください。」

つまり、同一サーバ領域内の複数のxoopsサイトで、1つのtrust_pathを共用利用する場合は
Protectorの一般設定に、利用したいフィルター名を記述することになります。
filter_enabledフォルダにファイルを設置してしまうと、一般設定での設定内容に関係なく
filter_enabledフォルダ内のすべてのフィルタが作動するからです。


一度は読んでいましたが、よく分からずに読み過ごしていました。

引用:
なので、後々に同一サーバ領域内に他にもxoopsサイトを組む可能性があるのなら
一般設定に記入する方法で。
そうでない(=そのサーバ領域でのxoopsサイトは未来永劫、1つだけなのであれば
filter_enabledフォルダに設置する方法で、という使い分けをオススメします。


すっきりとわかりました。
ご親切なご回答ありがとうございました。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top