サポート » 使い方全般 » WPログイン画面とサイトがFatal errorで真っ白になりました

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

    今回、サイトにログインしようとしますと、以下のエラーがでてしまい、画面が真っ白になってしまいます。
    どなたかご教授頂けましたら、大変ありがたく存じます!!

    Fatal error: Cannot declare class WP_MatchesMapRegex, because the name is already in use in /home/a-moringa/amakusa-moringa.com/public_html/_/wp-includes/class-wp.php on line 632

    ※class-wp.phpの632行付近は、以下のようになっています。
    ( class WP_MatchesMapRegex { の部分が632行です。)

    /**
    * Helper class to remove the need to use eval to replace $matches[] in query strings.
    *
    * @since 2.9.0
    */
    class WP_MatchesMapRegex {
    /**
    * store for matches
    *
    * @access private
    * @var array
    */
    private $_matches;

    /**
    * store for mapping result
    *
    * @access public
    * @var string
    */
    public $output;

    /**
    ———————————————–

    今回、上記のようなエラーが出てしまった経緯も、念のため、記載させて頂きます。

    今回、作っていたサイトを、違うサーバーへ移転するため、
    Duplicatorというサイト全体をコピーできるプラグインを使って、
    新しく移転先のサーバーにインストールしたWordpressにコピー致しました。

    今まで作っていたサイトは、WordPress 4.2.15のバージョンで、
    移転先にインストールしたWordPressは4.8の最新バージョンです。

    Duplicatorでコピーできたのは良いのですが、色々エラーが出ましたので、WordPressのバージョンが違うからだと思い、WordPress4.8の環境にすればよかったのですが、

    今回のリニューアル前に、
    WordPress4.7.5で 他の方が作っていたWordPressのバージョンがありましたので、
    こちらのバージョンだと似ているかと思い、
    4.7.5のwp-includesフォルダ、wp-adminフォルダ、index.phpなどのファイルをFFFTPを使って上書きアップロード致しました。

    ※「WordPress4.7.5で 他の方が作っていたWordPress」というのは、このサイトを以前に作成・管理されていた方が管理画面などもカスタマイズして作成されていたので、
    (私がリニューアル作業をする前のWordPress 4.2.15 のバージョンから、色々経緯があって、最近4.7.5にバージョンアップされていました。)
    こちらを利用する必要がありました。

    ・上書きアップロードしました内容

    wp-includesフォルダ
    wp-adminフォルダ

    ・ファイル類

    xmrpc.php
    wp-trackback.php
    wp-signup.php
    wp-settings.php
    wp-mail.php
    wp-login.php
    wp-load.php
    wp-links-opml.php
    wp-cron.php
    wp-config-sample.php
    wp-comments-post.php
    wp-blog-header.php
    wp-activate.php
    readme.html
    readme-ja.html
    licence.txt
    index.php

    ※以下のものはリニューアル後のサイトの内容になるので残して、DuplicatorでコピーしたWordPress 4.2.15のままの状態です。
    wp-config.php
    wp-contentフォルダ
    .htaccess

    どなたかお分かりの方、ご指導いただけましたら、大変ありがたく存じます!!
    どうぞ何卒よろしくお願いいたします。

15件の返信を表示中 - 1 - 15件目 (全28件中)
  • CG

    (@du-bist-der-lenz)

    言及されている通り、エラーの元になっているのがサーバー移転によるものか、WordPress 4.2.15のバージョンで作っていたサイトかを見極める必要があるでしょう。

    トピック投稿者 enohatay

    (@enohatay)

    ご回答ありがとうございます。

    こちら、WordPress 4.2.15のバージョンで作っていたサイトでは問題ございませんでしたので、
    バージョンアップしたことと、PHPファイルの中身が整合性がとれていないのかな、と思っております。。^^;

    以下のエラー内容で、class WP_MatchesMapRegex はもう既に使われているので宣言できない、とありますが、

    こちら、どこを直せばいいかさえ分かれば、エラーとしては解決できるように思っておりまして、
    どなたかお分かりになりましたら、修正の仕方を教えて頂けましたら大変嬉しく存じます・・・!!

    Fatal error: Cannot declare class WP_MatchesMapRegex, because the name is already in use in /home/a-moringa/amakusa-moringa.com/public_html/_/wp-includes/class-wp.php on line 632

    CG

    (@du-bist-der-lenz)

    エラー内容を、class WP_MatchesMapRegex はもう既に使われているので宣言できない、とは、私にはイメージしにくい表現なのですが、エラーメッセージはphpプログラムのつぶやきだとするならば、「class-wp.php on line 632」で、「class WP_MatchesMapRegex」を教えこまれたが、ステップを先に進んでいたら、また「class-wp.php on line 632」に戻ってきてしまったと足踏み状態にあるのだと、解釈していますが違うでしょうか。

    新サーバーは PHPのバージョンも新しいでしょうから、PHPのバージョンが異なったことにより問題もありえますね。

    1. テーマの functions.phpのバックアップと取って、中身を空にしてみる
     問題が解消するなら、そこに書かれたPHPコードが問題。

    2. テーマを変更してエラーがでないかどうか(テーマが WordPress 4.8に対応していない、新サーバーのPHPバージョンに対応していない)
     これを管理画面にログインできずにどうやるかは、ちょっと時間がなく分かりません。

    3. プラグインを1つずつ無効にしてみる(wp-content/plugins にあるプラグインフォルダを一つずつ、別の場所に移動)
     直れば、その時点のプラグインが、WordPress 4.8に対応していない、新サーバーのPHPバージョンに対応していない可能性がでてきます。

    エラー的には、WP_MatchesMapRegex というクラス名は class-wp.php の632行目で宣言されているのに、どこかからもう一度宣言しようとしている、というふうに見えます。

    まずはテーマをデフォルトに戻し、プラグインをすべて無効化を試してみるといいでしょう。それでも治らなければ、WordPress か PHP 等のサーバー側での問題となってきます。

    こんにちは

    そのクラス、今はwp-includes/class-wp-matchesmapregex.phpに定義されています。
    https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-matchesmapregex.php

    4.2ではwp-includes/class-wp.phpにで意義されていました。
    https://github.com/WordPress/WordPress/blob/4.2-branch/wp-includes/class-wp.php

    要するに、wp-includesディレクトリの上書きに失敗しているのではないでしょうか。
    一度wp-includesを削除してからアップロードし直したほうがいいかもしれません。。

    トピック投稿者 enohatay

    (@enohatay)

    皆様、ご回答ありがとうございます。

    CG様、Mirucon様

    そうですね、「Fatal error: Cannot declare class・・」で検索してみまして、以下のサイトが出てきましたので

    http://qiita.com/mkazu/items/2891e908569b939ddf33
    こちらによると、『原因:A.php,B.phpで同じクラスを定義していて、名前が重複しているから。』と書いてありまして、『エラー解決: A.php、B.phpにnamespace xxx;を追加』とありますので、試してみましたが、class-wp.php の632行目前に「namespace A1;」は記載できるのですが、もう一方の
    「namespace B1;」をどこに記載すれば良いのか分からず・・・^^;
    どうしようかと思っております。

    ※テーマをデフォルトに戻すのも、FFFTPからファイル操作で戻す形でしょうか・・・

    kimipooh様

    1. テーマの functions.phpのバックアップと取って、中身を空にしてみる→こちらはやってみたのですが、変わりはなかったです^^;
    3. プラグインを1つずつ無効にしてみる→こちらは、他を試してみまして、必要とあらばやってみたいと思います。

    トピック投稿者 enohatay

    (@enohatay)

    munyagu様

    ありがとうございます。
    (明日になってしまうのですが)、早速試してみたいと思います!
    情報をありがとうございます!

    CG

    (@du-bist-der-lenz)

    テーマをTwentyシリーズなどデフォルトに戻すと共に、プラグインを無効化して確認することは、初期行為としてください。それで切り分けられるものがあります。

    CG

    (@du-bist-der-lenz)

    同じ定義が二通りあるのでなく、同じファイルを後方で再度見に行く命令があることも考えられます。そこで、functions.phpの書き方に問題がないかというのを疑うのでしょう。

    こんにちは

    namespace云々は、WP_MatchesMapRegexクラスが見つからないという別のエラーを引き起こします。
    namespaceを定義したら、呼び出し元でもnamespaceを考慮した呼び出し方をしないといけないためです。

    実施されない方が良いでしょう

    トピック投稿者 enohatay

    (@enohatay)

    ご回答ありがとうございます。

    まず、wp-includesフォルダを一度削除して、WordPress4.7.5のもので上書きいたしました。

    そうすると、違うエラーが出て、wp-includesの中のoption.phpと、wp-admin/includes の中のplugin.phpの記載にエラーがあるようなことでしたので、wp-adminフォルダもWordPress4.7.5のもので上書きいたしました。

    そうしたら、「ERROR 500」(このページは動作していません)が出てしまいまして・・・
    →アドレスバーの文字列
    http://amakusa-moringa.com/_/wp-admin/upgrade.php?_wp_http_referer=%2F_%2Fwp-admin%2Findex.php

    ※テーマをデフォルトに戻すのは、管理画面が開かないため、出来ない状況です・・・

    このような状況でも、何かやってみたら良い手だてがありましたら、教えて頂けましたら嬉しいです。。

    トピック投稿者 enohatay

    (@enohatay)

    munyagu様

    ありがとうございます。
    namespaceの方は、実施しないように致します^^;
    情報をありがとうございます。

    確認ですが、plugins/ フォルダー内の全プラグイン削除は試しましたか? まずは問題の切り分けをすることが大事ですので、プラグインの全削除及びテーマをデフォルトに戻すことを試してみてください。
    どちらも FTP サーバーからフォルダーを削除するだけ (バックアップを忘れずに) です。

    トピック投稿者 enohatay

    (@enohatay)

    ご確認ありがとうございます。

    plugins/ フォルダー内の全プラグイン削除は試してみましたが、「ERROR 500」(このページは動作していません)は変わりませんでした。。

    テーマに関しては、オリジナルで作成していたテーマフォルダを一度削除することで、元々入っていたtwentyfifteen、twentysixteen、twentyseventeenのいずれかに、テーマが戻るということでございますでしょうか・・・?

15件の返信を表示中 - 1 - 15件目 (全28件中)
  • トピック「WPログイン画面とサイトがFatal errorで真っ白になりました」には新たに返信することはできません。