web-dev-qa-db-ja.com

WordPressウェブサイトの移行後、管理者にアクセスできません(ホワイトページ)

WordPressサイトをローカルサーバーからオンラインサーバーに移動しようとしています。

問題は、移行後に、管理ページ(wp-admin)を開こうとすると、ここにあるように白いページしか取得できないことです。 http://scorejava.com/wordpress/wp -admin / 。ホームページでは他のすべてがうまく機能しているようです: http://scorejava.com/wordpress/

私のローカルWebサーバーでは、WPフォルダーにサイト:/var/www/wordpress。オンラインWebサーバーのルートディレクトリにあるwordpressフォルダーに移動しました。

MySqlを使用してローカルデータベースをonlyneデータベースにインポートし、Search and Replace for WordPress Databases Script)を使用して自動的に変更しました全ての http://localhost/wordpresshttp://scorejava.com/wordpress/ を使用してデータベーステーブルに出現します。

15
AndreaNobili

サイトにエラーがあり、何が起きているのかを知る必要があります。

WordPress URL

WordPress URLが変更されるサイトを移行する場合、新しいURLについてWordPressを通知する必要があります。WordPressデータベース内の情報。したがって、それに慣れている場合は、データベースのwp_optionsテーブルで正しいエントリを見つけ、その値を更新できます。

標準のWordPressインストール(サイトのURLはWordPressルート))に対する修正をいくつか示しますが、セットアップが異なる場合は、homesiteurlに異なる値を使用する必要があります。

SQLを介してURLを修正する

wp_optionsのエントリであるDBの関連フィールドを更新する必要があります。ここで、option_namesiteurlまたはhomeです。これらのフィールドは、phpmyadmin、mysql-workbench、または別のデータベース管理ツールを使用して見つけることができます。または、次のクエリを使用して、URLを独自のものに変更できます。

UPDATE `wp_options` SET `option_value`='http://www.myurl.com' WHERE `option_name` IN ('siteurl', 'home');

wp-config.phpを介してURLを修正

ただし、wp-config.phpを使用してこれを行うこともできます。 wp-config.phpを開き、次の行を追加するだけです。

// Site URLS (override DB settings)
define('WP_HOME','http://www.myurl.com');     //<-- NO TRAILING /
define('WP_SITEURL','http://www.myurl.com');  //<-- NO TRAILING /

当然、正しいURLを指定する必要があります。

これが唯一のエラーである可能性があり、これらの行をwp-config.phpに追加すると、サイトにログインして通常どおり使用できるようになります。

デバッグWordPress=エラー

ただし、引き続き問題が発生し、Webサイトの開発に取り組んでいる場合は、エラー出力を確認する必要があります。サーバーログでエラーに関する情報を確認できますが、WordPressでページにエラーを表示する方が便利です。エラー表示を有効にするには、次の設定をtrueに変更します。 wp-config.phpで。

define('WP_DEBUG', true);

現在、WordPressはWebページで直接発生したエラーを表示します。本番サイトで使用するには、必ずfalseに設定を変更してください。

wp-config.phpの操作

このファイルは、wordpressインストール済み環境のルートディレクトリにあります。ここで述べた変更を行うには、サーバー上で直接ファイルを編集することができます(たとえば、ssh経由)、またはFTPクライアントでファイルをダウンロードし、テキストエディターを使用して変更を加え、ファイルを再度アップロードします。

また、作業中に何かが壊れた場合に備えて、変更を行う前にバックアップコピーを保持しておくことをお勧めします。

参照資料

docsページで、WordPressサイトURLの変更に関するすべてを読むことができます

12
Jon Surrell

パーティーに遅れて、私は最近これを経験し、問題を解決することができました。これが私がやったことです。

ステップ1: _WP_DEBUG_を_wp-config.php_ファイルからtrueに設定します

ステップ2:これにより_domain.com/wp-login.php_の代わりに_domain.com/wp-admin_を試しました。少なくともログインフォームと_Warning: Cannot modify header information - headers already sent by_のエラーを取得できました。

ステップ3:最初の行の_wp-login.php_の後に_<?php_ファイルにob_start();を追加しました。

ステップ4:このトリックはうまくいきました。すべてのプラグインを無効にしましたが、エラーはなくなりました。

ステップ5:すべてのプラグインを1つずつアクティブにして、エラーを引き起こしているプラ​​グインを見つけ、特定のプラグインのエラーを修正できるようにしました。 _wp_enqueque_style_の前にスタイルを追加するプラグインが1つあったので、関数に設定して適切にフックします。

deprecated関数のようなあまりにも小さなエラーがいくつかありました。それを修正するか、代替プラグインを使用するかはあなた次第です。

_ob_start_ファイルから_wp_login.php_を削除することを忘れないでください。コアファイルは変更しないでください。

これが私のような人を助けることを願っています。

6
PHP Mentor

WordPress=ダッシュボードの設定内には、「WordPressアドレス(URL)」と「サイトアドレス(URL)」という名前の2つのフィールドがあります。これらは「ホーム」と「サイトウェブサイトのURL」設定。値は、実際に実行しているサーバーと一致する必要があります。

管理者にアクセスできない場合は、phpmyadminを使用してデータベースにアクセスし、wp_optionsテーブルに類似するフィールドを見つけて、それらがドメインを反映していることを確認します。

ほとんどの場合、これで十分です。

5
webguy

私は恐ろしい「死の白いスクリーン」と何度か戦いました。 Wordpressサポートサイト でスレッドを参照して、いくつかの提案を収集するか、Googleで多数の人々のストーリーやこれらに対処するアドバイスを探してください。これに関する単一の信頼できる参照を推奨することはできません。

私のほとんどの場合、それは、通常はプラグインでの開発サーバーと運用サーバー間の改行スキームの変更のために導入された_?>_タグを閉じた後の空白が原因でした。

また、Wordpress=に デバッグモード を挿入するか、サイトの_/wp-admin/admin.php_ファイルの最初の行にerror_reporting(E_ALL);を追加して、これらはヒントを与えてくれます。

私は個人的に XCloner plugin を使用してWin開発マシンと* nixプロダクションサーバー間で転送を行うことで、これらの(タッチウッド)を回避することができました。

4
cpilko

Wp-content/themes/active-theme-folder/function.phpを編集し、このコードを直前に追加します:

<?php
define('WP_HOME','http://www.myurl.com');     //<-- NO TRAILING /
define('WP_SITEURL','http://www.myurl.com');

多くの場合、ファイルを別のサーバーに移行するとき、この問題はPHPファイルのいずれかのマイナーエラーが原因で発生します。エラーは終了後の追加文字ですか?> PHPタグこれらは単なる空白または戻り値である場合がありますが、多くの場合、死の白い画面の原因になる可能性があります。

主な原因は、WordPressテーマ内のfunctions.phpファイルです。プレーンテキストファイルエディター(ほとんどのホスティングアカウントでよく使用されます)で確認し、終了タグ。

このファイルにない場合は、エラーレポートを使用して原因ファイルを特定し、プラグインまたはテーマの別のファイルにある可能性があります。

Jon Surrellによるエラー表示の有効化で述べたように、wp-config.phpで次の設定をtrueに変更します。

define('WP_DEBUG', true);
1
Graham Davies

Wp-config.phpファイルで、行停止編集行のすぐ上に次の行を追加します。

define('RELOCATE',true);
/* That's all, stop editing! Happy blogging. */

次に、ログインURLに移動し、ページを更新してログインします。重要:ログインできる場合は、先に進む前にRELOCATE行を削除してください。次に移動します。

Settings > General

Wordpress URLとサイトアドレスを正しい場所に設定します。

WordPress Address (URL): http://example.com/wordpress

Site Address (URL): http://example.com/myblog

「保存」を押します。

0
Paul De Jong

wp-config.phpファイルに次の行を追加します。

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);

define('WP_SITEURL', WP_HOME . '/');
0

私はこの答えをほつれに加えています。希望として、それは他の誰かを助けるかもしれません。上記のすべてのアドバイスに従わなかった。実際にPHPファイルをハックして、管理者にパネルへのアクセスを強制しました。パネルを介して、管理者アカウントに管理者ロールが割り当てられていないことがわかりました。

これは「wp-includes/capabilities.php」への私のハックです

function current_user_can( $capability ) {
    $current_user = wp_get_current_user();

    if ( empty( $current_user ) ) {
        return false;
    }

return true;  // HACK to get superuser power to any logged in user

    $args = array_slice( func_get_args(), 1 );
    $args = array_merge( array( $capability ), $args );

    return call_user_func_array( array( $current_user, 'has_cap' ), $args );
}    

これにより、管理者パネルが表示され、 https://example.com/wp-admin/users.php にアクセスでき、ロールを割り当てることができました。次に、「管理者」が割り当てられたので、すべてのユーザーに正しい権限が付与されていることを確認するために、capabilities.phpをアンハッキングしました。

0
Elenesski

ローカルサーバーに移行した後も同じ問題が発生しました。データベースに多くのハードコードされたファイルパスがあるため、最初の試行は失敗しました。それで、私は再試行し、ライブサーバーと同じパスと同じホスト名とデータベース名を作成するように注意しました。これでウェブサイトは良好になりましたが、wp-loginは白い画面を表示しました。

Wp-debugを使用すると、config.phpに完全なファイルパスがハードコードされているwp-super-cacheプラグインが原因であることがわかりました。このパスを完全なローカルパスに変更するとうまくいきませんでした。

0
para

これらは私が通常従うステップです。

  1. ファイルとデータベースをアップロードします。
  2. 正しいファイル許可を設定してください。
  3. サーバーdbログインに一致するようにwp-config.phpファイルのデータベース構成を更新します。
  4. wp_optionsテーブルを更新して、サイトのURLとホームのURLを更新します。
  5. すべてがうまくいけば、wp-login.phpをURLとして使用して管理者にログインできるはずです。
  6. 次に行うべきことは、パーマリンクに移動して[保存]をクリックすると、.htaccessファイルが自動的に更新されることです。書き込み許可がない場合は、ftpでファイルをコピーして編集できることを示します。
  7. 次に、velvet urlsという名前のプラグインを使用して、すべてのURLを安全に簡単に更新できます。長年使用しています。データベース内の他のすべてのURLを更新します。

すべてが正常に実行されれば、これらの手順はすべて十分です。

空白のページなどが表示された場合は、エラー報告をオンにして、wp構成ファイル自体からログを書き込むことができます。これらのいくつかを試してデバッグすることができます。

  1. フォルダーからプラグインを1つずつ削除するだけです。
  2. 使用しているカスタムテーマを削除します。

コアファイルをほとんど編集しない限り、問題は解決します。他の可能性は、移行中に注意する必要がある非常に重要なphpまたはmysqlのバージョンの不一致です。これが誰かを助けることを願っています。

0
Krishnadas PC