web-dev-qa-db-ja.com

移行に困った

サーバーからクライアントのBluehost(ugh)アカウントにサイトを移行しています。使ってみた

  • オールインワンWP移行
  • BackupBuddy
  • 手動移行(WP Migrate DBを使用したファイルのコピーとdbのエクスポート)

これらは私のサーバーの統計です:

Apache Version  2.2.24
PHP Version 5.3.26
MySQL Version   5.6.28-76.1

そしてクライアントのサーバー:

Apache  2.2.31
PHP 5.2.17
MySQL   5.5.42

クライアントサーバーのphp.iniをphp 5.4に更新するように設定しました。 MySQLのバージョンの違いは問題にならないはずです。

HTTP 500エラーが発生するたびに(最後の試行の後は、ホームページのInternal Server 500とそれ以外のすべての場所でHTTP 500エラーが発生します).

私は.htaccessという名前に変更しました - サイコロはありません。サイコロ - php.iniを削除しました。データベースのプレフィックスが異なり、私は開発サイトからの拡張子を使用するようにwp-configを設定しました。

通常、これらの移行は非常に簡単なので、私は困惑しています。何が足りないの?

1
Arp Laszlo

WP_DEBUGwp-config.phpをオンにする必要があります。

define( 'WP_DEBUG', true );

それはその500エラーがどこから来ているかを解明するのに大いに役立ちます。あなたが言及したPHPのバージョンに基づいて、私は99.999%がエラーがPHP 5.2.17で利用できない機能に起因すると確信しています。あなたはおそらくどちらか の簡単な配列表記法 を見ているでしょう(例えば$array = []; - これはPHP 5.4.0で追加されたのでおそらくあなたの場合の問題ではないでしょう、あなたが5.3.26)から来ている、または 無名関数名前空間 、または array_replace これらはすべてPHP 5.3.0で追加されました。

WP_DEBUGをオンにすると、そのエラーが発生している場所がわかります。自分でコードを書いた場合は、もっと古いものに置き換えることもできます(例えば、より長い配列表記、匿名でない関数など)、あるいはサーバー上で可能であればPHPバージョン。

例として、無名関数を置き換えるには、次のように変更します。

add_filter( 'the_content', function($content){ return 'hello'; });

これに:

add_filter( 'the_content', 'my_content_function');

function my_content_function($content){ return 'hello'; }

試してみる価値がある他のものは次のとおりです。

  • .htaccess行と#行の間にない、# START WordPress内の行のコメントアウト(行の先頭に# END WordPressを追加)
  • ファイルのアクセス権をリセットする
  • 通常はすべてのプラグインを無効にしてテーマを変更し、問題が解決するかどうかを確認します(管理者にアクセスできない場合は、個々のプラグインまたはテーマフォルダの名前を変更して無効にします)。
3
Tim Malone

移行するための絶対的な最善の方法は次のとおりです。

  1. あなたのmysqlサーバーにアクセスする
  2. データベースのダンプを作成します
  3. あなたのファイルサーバにアクセスする
  4. / wp-contentフォルダを圧縮する
  5. zipファイルとSQLファイルを新しいサーバーにアップロードします。
  6. / wp-contentファイルを解凍します。
  7. 新しいデータベースサーバーに古いダンプをロードします。
  8. wp-config.phpを修正して新しいデータベースサーバーを指定します

出典:私自身のウェブサイトのリストを通した経験

PSと重要:WPプラグインを介してダンプしないでください!

0
BredeBS