サーバーからクライアントのBluehost(ugh)アカウントにサイトを移行しています。使ってみた
これらは私のサーバーの統計です:
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を設定しました。
通常、これらの移行は非常に簡単なので、私は困惑しています。何が足りないの?
WP_DEBUG
でwp-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
を追加)移行するための絶対的な最善の方法は次のとおりです。
出典:私自身のウェブサイトのリストを通した経験
PSと重要:WPプラグインを介してダンプしないでください!