• 解決済 castlefield

    (@castlefield)


    管理画面で操作しているうちに、いつのまにか管理画面が真っ白になり操作ができなくなりました。以前から、管理画面で投稿など更新をすると真っ白になるエラーは存在していましたが、ブラウザの戻るボタンによって管理画面に戻って対処していました。
    なお、今でも本サイトは表示されています。

    デバッグモードで確認したところ、下記のエラーが多数表示されました。

    Warning: require() [function.require]: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/***/***.net/:/usr/share/pear53/) in /home/***/***.net/public_html/wp-login.php on line 12

    プラグインの停止や.htaccessによるopen_basedirの無効化を試みても復帰できませんでした。当方が利用するサーバーではPHP.iniの編集はごく一部しかできません。どのように対処するべきでしょうか?

    条件は下記の通りになります。
    wordpress : 3.4.2
    PHP : 5.3.3
    MySQL : 5.0.77
    サーバー : スターサーバープラス
    ブラウザ : safaeri6.0.2 , Chrome 23.0.1271.91

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • こんにちは、

    読み込みできない範囲のファイルを、require していませんか?

    wp-login.php on line 12

    なにか、カスタマイズしていませんか?

    トピック投稿者 castlefield

    (@castlefield)

    nobita様

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

    wp-login.phpファイルはカスタマイズしておりません。
    他にもwp-settings.phpで同様のエラーが表示されますが、ファイルのカスタマイズはしていません。
    wp-config.phpのMySQLの設定を行ったのみです。

    castlefieldさん

    いつのまにか管理画面が真っ白になり操作ができなくなりました。

    Warningレベルのエラーは、真っ白な画面にまではなりませんから、なんかのタイミングで、fatal error や perse errorが、発生しているのではないかと思います。

    WP_DEBUG_LOG’をtrueにしていると思いますが、以下の定数を、追加してみてください

    //seved wp-content/debug.log
    	define('SCRIPT_DEBUG', true);
    	define( 'WP_DEBUG_DISPLAY', false );

    wp-config.phpに、上記の設定をすると、ブログには、エラーが表示されず、wp-content/debug.logに、ログが記述されるようになります。

    この状態で、しばらくログを取りながら、真っ白になったら、従来の方法で、復旧して、ログをテキストエディタで開いてください。

    ログは、環境にもよりますが、あっという間に、100万行くらいのファイルサイズになる事もありますので、注意してください。

    fatal と parse エラーを探してください。

    open_basedir については、レンタルサーバーに聞いてみてください。

    wp-config.phpのMySQLの設定を行ったのみです。

    プラグインは、使用せず。テーマは、Twentyelevenという事ですね?
    何か使っていれば、
    http://ja.forums.wordpress.org/topic/11794?replies=1
    を参考にしてください

    トピック投稿者 castlefield

    (@castlefield)

    nobita様

    再度のご回答、ありがとうございます。

    エラーをファイルに出力してみましたが、fatalとparseのエラーは見つかりませんでした。
    open_basedirに関してはレンタルサーバーに問い合わせをしてみます。

    なお、テーマは書籍「wordpressデザインブック3.X」のオリジナルテーマを使用しています。紛らわしい表記で申し訳ありません。
     

    テーマが、オリジナルなら include関数に間違ったファイルパスを指定している可能性もあるので、

    include()文を以下のように書き換えて、ファイルがインクルードできているかチェックできます。

    if( ( include 'return_b.php') === 1 ){
    	echo 'ok';
    }else{
    	echo 'bad';
    }

    注意:include ('return_b.php') === 1 では動作しません。

    トピック投稿者 castlefield

    (@castlefield)

    nobita様

    度々、ご回答いただき、大変ありがとうございます。

    open_basedirエラーのでる直前にご教示いただいたコードを挿入したところ、
    ディスプレイには「ok」の表示がされました。

    debug.logには上記のopen_basedirエラーと共に下記のエラーが記されました。
    PHP Fatal error: Cannot redeclare _mb_substr() in /home/***/***.net/public_html/wp-includes/compat.php on line 22

    トピック投稿者 castlefield

    (@castlefield)

    nobita様

    Cannot redeclareのエラーはfactions.phpのエラーから出るとのことでしたので、
    factions.phpを当初のバージョンに直したところ、管理画面が表示されました。
    何がいけなかったのかはまだ分りませんので、これから見直してみます。

    nobita様がいなければwpを再インストールしなければいけないところでした。
    本当にありがとうございました!

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「open_basedirのエラーに関して」には新たに返信することはできません。