-2

最近、WordPress にテーマをインストールしましたが、アクティブにすると空白の画面しか表示されません。これにはどのような原因が考えられますか? 問題の発見を開始するための手順。

この問題は、サイトをテストサーバーからホスティング会社のサーバーに移動したときに明らかになりました.ホスティング会社のサーバーは、他のさまざまなWordPressサイトをホストするために使用していました. 私のインスタンスで白い画面が表示される原因として考えられるものは何ですか? 問題の発見を開始するための手順。調査に従って、メモリ制限を増やしたり、プラグインを無効にしたりするなどの手順を実行しましたが、元のサーバーでは正常に機能したため、プラグインなどが原因であるとは思えません。

ありがとうございました

アップデート

そうです、これまでのところ、メモリ制限を 128M に増やし、すべてのプラグインを無効にし、それらのフォルダーに一時的に名前を付けました。

@Sabari による提案のおかげでデバッグを有効にしましたが、これにより次のエラーが発生しました: Fatal error : Call to undefined function mb_internal_encoding() in /home/neatly/public_html/wp-content/themes/best_wedding_dress-babe23c7e828662f1a07c296a5608f52/functions 12行目の.php

私は PHP で役に立たないわけではありませんが、mb_internal_encoding をどこでどのように定義するかなど、優れた続行方法についていくつかの提案をすることができます。12行目のコードは次のとおりです。

mb_internal_encoding(get_bloginfo('charset'));

これはテストサーバーで完全に機能し、これらの問題はすべて新しいサーバーに移動したときにのみ発生したことを繰り返したいと思います. WordPress サイトをあるサーバーから別のサーバーに何度も転送し、この特定の Web サイトでコンテンツとデータベースの両方を 3 回再ダウンロードしてアップロードしました。両方のバージョン (テスト サーバーと新しいサーバー) の WordPress のバージョンは同じであるため、新しいサーバーのテクノロジが異なる可能性があります。これらの行に沿って、このエラーを引き起こしている可能性のあるものはありますか?

サバリが提案した回答

この問題は、Web ホストのサーバーで mbstring (マルチバイト サポート) を有効にして構成することで解決されました。

4

3 に答える 3

2
WSOD. OK... possible cause, theme exhausts the memory limit
a) clear you cache
b) Make a backup before changing anything
c) Disable the plugins,  
d) Replace Theme with a Default Theme
e) Re-install Wordpress

トラブルシューティングにデバッグを使用する

error_reporting(E_ALL); ini_set('display_errors', 1);

ワードプレスの場合:

define( 'WP_DEBUG', true);
于 2013-04-09T07:14:29.270 に答える
2

あなたの問題は、mbstring拡張機能が有効になっていないことに関するものだと思います。

mb_internal_encoding関数にはmbstring拡張機能が必要です。これはnon-default拡張機能であり、デフォルトでは有効になっていません。

mb_string http://www.php.net/mbstringをインストールして構成する方法の詳細については、これを参照してください。

Windows を使用している場合はextension=php_mbstring.dll;、php.ini の行のコメントを外します (extension=php_mbstring.dll の前のセミコロンを削除します)。

Linux を使用している場合はyum install php-mbstring、centos を試すことができます。

ubuntuの場合、私は明確ではありません。

この後、apache を再起動します。

更新

拡張機能が有効になっているかどうかを確認するには、次を使用できます。

if (extension_loaded('mbstring')) {
    //functions using mb string extensions
}

新しいアップデート :

if (extension_loaded('mbstring')) {
    mb_internal_encoding(get_bloginfo('charset'));
}

WordPressには、これらを処理する機能が組み込まれていると思いますwp_set_internal_encoding()。ファイルでこの関数を呼び出すだけです。wp_set_internal_encoding() が行うことは、上で説明したのと同じです:

function wp_set_internal_encoding() {
    if ( function_exists( 'mb_internal_encoding' ) ) {
        if ( !@mb_internal_encoding( get_option( 'blog_charset' ) ) )
            mb_internal_encoding( 'UTF-8' );
    }
}

が存在するかどうかをチェックしmb_internal_encoding functionます (拡張機能がロードされている場合にのみ関数が存在します)。これは、関数が存在するかどうかを確認する別の方法です。

利点は、関数のみを呼び出す必要があり、他のことを気にする必要がないことです。WordPress がそれらを処理します。

新しいアップデート :

mb_strlen最初のエラーについては、関数をfunction_exists () likeでラップします。

if ( function_exists( 'mb_strlen' ) ) {
    mb_strlen();
 }

拡張機能を有効にしていて、破損している可能性があります。そのため、それを呼び出す前に関数が存在するかどうかを確認することをお勧めします。

wp_set_internal_encoding2 番目のエラーについては、functions.php やその他のファイルにを追加する必要はありません。WordPressの組み込み機能です。関数を呼び出すだけですwp_set_internal_encoding。実際に存在する関数を宣言しています。そのため、PHP は致命的なエラーを返します。

新しいアップデート

関数には、mbstring 拡張機能が有効になっている場合にのみ機能する mb_strlen があります。だから変えればいい

function theme_trim_long_str($str, $len = 50, $sep = ' '){
    $words = split($sep, $str);
    $wcount = count($words);
    while( $wcount > 0 && mb_strlen(join($sep, array_slice($words, 0, $wcount))) > $len)     $wcount--;
    if ($wcount != count($words)) {
        $str = join($sep, array_slice($words, 0, $wcount)) . '…';
    }
    return $str;
}

function theme_trim_long_str($str, $len = 50, $sep = ' '){
    $words = split($sep, $str);
    $wcount = count($words);

    if ( function_exists( 'mb_strlen' ) ) {
        while( $wcount > 0 && mb_strlen(join($sep, array_slice($words, 0, $wcount))) > $len)     
            $wcount--;
    } else {
        while( $wcount > 0 && strlen(join($sep, array_slice($words, 0, $wcount))) > $len)
            $wcount--;
    }
    if ($wcount != count($words)) {
        $str = join($sep, array_slice($words, 0, $wcount)) . '…';
    }
    return $str;
} 

これがお役に立てば幸いです:)

于 2013-04-09T07:44:45.560 に答える
1

多くのことが起こる可能性があります。ファイルが適切にアップロードされていない場合、この問題が発生する可能性があります。テーマの関数ファイルにエラーがある場合、それも発生する可能性があります。

于 2013-04-09T07:05:16.047 に答える