サポート » 使い方全般 » エラー表示 redeclare

  • 解決済 Yumi1418

    (@yumi1418)


    よろしくお願いいたします。

    サーバー移転に伴うWordPressの引越し作業の途中、以下のようなエラーが表示されました。

    Fatal error: Cannot redeclare class Jetpack_Sync in /home/romanze1418/romanzelog.info/public_html/blog/wp/wp-content/plugins/jetpack/3rd-party/polldaddy.php on line 3

    プラグインのJetpackの中のpollydaddyファイルの3行目を書き換えなさい、というような
    意味と理解していますが、具体的にどのように記述したらよいか教えていただければ助かります。

    (ファイルのソース ここから)

    <?php

    class Jetpack_Sync {
    static function sync_options() {
    _deprecated_function( __METHOD__, ‘jetpack-4.2’, ‘jetpack_options_whitelist filter’ );
    }
    }

    (ここまで)

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • gblsm

    (@gblsm)

    3行目を書き換えなさい、ではなく、そのクラス Jetpack_Sync を二重に定義しようとしましたよ(してはいけない)、ですね。

    推測ですが、他のプラグインやテーマの中で、クラス Jetpack_Sync を独自に定義しているものがあるのではないかと思います。まずそれを探されてはどうでしょうか。

    トピック投稿者 Yumi1418

    (@yumi1418)

    さっそくのご教授ありがとうございます。
    書き換えの指示ではないのですね。
    Jetpack_Syncというものを二重に定義・・・しようとするほどプログラミングに詳しくないため、
    どこでどうしたのかわかりません。
    ファイルやフォルダはアップロードもれがないよう、なるべくひとつずつアップロードしていましたが・・・

    極端なことをお尋ねしますが、Jetpackのプラグインフォルダそのものを削除し、
    管理画面が無事に表示されたら改めてJetpackをインストールし直す、というやり方でも大丈夫でしょうか?

    再度ご教授いただけますと幸いです。
    (事業用サイトの中のブログとして運営していますが、長いことエラー表示で困っております)

    gblsm

    (@gblsm)

    極端なことをお尋ねしますが、Jetpackのプラグインフォルダそのものを削除し、
    管理画面が無事に表示されたら改めてJetpackをインストールし直す、というやり方でも大丈夫でしょうか?

    Jetpackのプラグインフォルダの名前を変えて(削除しないで)試すのが良いと思います。
    そうしておけば、効果がなかったとき元に戻せますので。

    ところで移転前はこのエラーが表示されていなかったのですよね。
    それと、このエラーの他には特にエラーは表示されていない前提で原因を想像してみると

    移転作業時にテーマやプラグインのバージョンを変更した(ので二重定義が起きてしまった)

    という影響が出ているのかもしれません。何か心当たりはありませんか?
    WordPress そのものには Jetpack_Sync というクラスがないので影響はないはずです。

    トピック投稿者 Yumi1418

    (@yumi1418)

    再度の投稿をありがとうございます。

    移転前にこのようなエラーが表示されたことはありませんでした。
    また、移転作業時にテーマやプラグインのバージョン変更もしませんでした。
    唯一、Xserverのphpのバージョンを、移転のやり直しの際、推奨される7.0.18 から5.6.30へ
    切り替えました。
    WPのバージョンは4.7ぐらいでしたので、phpのバージョンと不整合がある場合があると検索で調べて念のために。(これが原因でしょうか・・・?)

    また、ダウンロードしておいたWPのサイトファイルをXserverにアップロードする際は、
    ファイルやフォルダを全て上書きしていきました。

    >推測ですが、他のプラグインやテーマの中で、クラス Jetpack_Sync を独自に定義しているものがある>のではないかと思います。まずそれを探されてはどうでしょうか。

    そして、昨日いただいたアドバイスに沿って一つずつ確認していったところ、
    wp-content/plugins/jetpack/ の中で、ローカルにはないのにホストには存在するファイルが
    以下の3つありました。

    class.media-summary.php
    class.media-extractor.php
    class.jetpack-sync.php

    この三番目が怪しいのかなと思い、試しにこのファイルを削除してみましたが、
    エラーは変わらないので元に戻しました。

    Xserverでphpのバージョンを7.0.18に戻してみましたが、結果は一緒でした。

    ご指摘いただいた件についてお尋ねですが、
    wp-content/plugins/jetpack/ のホスト側フォルダ名を plugins/jetpack-copy/ などの
    別名にして試す、ということで間違いないでしょうか。
    また、それで管理画面にログインできた場合、jetpackは再度インストールの必要がでてくるのでしょうか。その場合は、これまで蓄積されたデータはなくなってしまうのでしょうか。

    質問が次々膨らんでしまい、大変申し訳ありません。
    再度ご教授いただけますと幸いでございます。

    トピック投稿者 Yumi1418

    (@yumi1418)

    度々恐縮です。

    ホスト側のプラグインフォルダをjetpack-copy にしてみたところ、
    WPが表示されました!
    管理画面にもログインできましたが、「新バージョンのjetpackが利用できます」という案内に沿って
    更新すると、FTPのjetpackフォルダやファイルが書き変わるのでしょうか。

    すみません、FTPはhtmlファイルの更新でしか使用したことがなく、
    WPのプラグインの場合がよくわかっておりません。

    再度ご教授いただけますと大変幸いでございます。

    gblsm

    (@gblsm)

    wp-content/plugins/jetpack/ のホスト側フォルダ名を plugins/jetpack-copy/ などの別名にして試す、ということで間違いないでしょうか。
    また、それで管理画面にログインできた場合、jetpackは再度インストールの必要がでてくるのでしょうか。

    はい、そうです。

    その場合は、これまで蓄積されたデータはなくなってしまうのでしょうか。

    なくならないはずです。(でも予めバックアップを取るのはお作法と思います。)

    phpのバージョンを、移転のやり直しの際、推奨される7.0.18 から5.6.30へ
    切り替えました。・・・中略・・・(これが原因でしょうか・・・?)

    バージョン変更が原因の可能性は低いと思います。

    また、ダウンロードしておいたWPのサイトファイルをXserverにアップロードする際は、ファイルやフォルダを全て上書きしていきました。

    原因かもしれないのは、上書きする前に Xserver に存在したファイルですね。
    Jetpack 以外のプラグインやテーマにも、前からあったファイルが残っている可能性があるので。
    上書きではなく、空っぽのところへ入れるように引越し作業をやり直してみるのが近道かもしれません。

    gblsm

    (@gblsm)

    コメントが行き違いになりましたが・・・

    管理画面にもログインできましたが、「新バージョンのjetpackが利用できます」という案内に沿って更新すると、FTPのjetpackフォルダやファイルが書き変わるのでしょうか。

    はい、書き換わります。

    ところで、その案内が出ている現在の状態で、管理画面の左サイドバーに Jetpack のメニューが表示されていますか?
    フォルダー名を jetpack-copy に変えたことにより、Jetpack プラグインは停止状態のはずなのでサイドバーから消えているはずですが、もし表示されてたら jetpack が 2つインストールされていることになります。管理画面のプラグイン一覧と FTP の wp-content/plugins 直下のフォルダー&ファイル一覧を見比べてみてください。

    • この返信は6年前にgblsmが編集しました。
    • この返信は6年前にgblsmが編集しました。
    トピック投稿者 Yumi1418

    (@yumi1418)

    再度の投稿をありがとうございます。

    WP管理画面「インストール済みプラグイン」には、Jetpackは「停止中」のプラグインとして表示されています。

    FTPのwp-content/plugins/直下には、Jetpackフォルダではなく、書き換えたJetpack-copyが表示されています。

    >原因かもしれないのは、上書きする前に Xserver に存在したファイルですね。
    >Jetpack 以外のプラグインやテーマにも、前からあったファイルが残っている可能性があるので。
    >上書きではなく、空っぽのところへ入れるように引越し作業をやり直してみるのが近道かもしれません>。

    サイトデータを全て、空っぽのところへ再度引越しした方が確実でしょうか。

    重ね重ねお手数おかけします。

    トピック投稿者 Yumi1418

    (@yumi1418)

    お世話になっております。

    ご教授いただきましたように、FTPでの引越しを全て空っぽのところへアップロードし直す方法で
    やり直し、Jetpack-copyからJetpackへファイル名を変更しました。

    プラグインのJetpackは、停止から有効化へ適用し、エラーは出ませんでした。

    このたびは色々とご助言いただき、感謝申し上げます。
    どれほど力になっていただいたかわかりません。
    本当にありがとうございました。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「エラー表示 redeclare」には新たに返信することはできません。