Saturday, April 20 2024 @ 11:45 AM JST

画面がまっしろ。サイトがエラーになったときの対処法

  • Friday, September 06 2013 @ 11:50 PM JST
  • 投稿者:
  • 表示回数 18,121
Geeklog

Geeklogの場合は、以下の手順でサイトのエラーを表示して復旧させます。

  • php.iniでPHPエラー表示モードに変更します。
  • Geeklogのエラーログ /logs/error.logとサーバーのログを確認します。
  • Geeklogの管理画面にログインできる場合はCacheクリア。あるいはサーバーのcache用ディレクトリ(data/layout_cache/, data/layout_css)のcacheファイルを削除
  • Geeklogのsiteconfig.php に、以下の1行を追加して、デバッグモードにします。
    $_CONF['rootdebug'] = true;
    これでログインしていなくてもPHPエラーが表示されるようになります。
  • どこでエラーが発生しているか詳細な関数の実行経緯が表示されるので解析。
    原因に応じて、/admin/install/rescue.php(緊急レスキューツール) を実行してプラグインを無効にするなど。rescue.phpでたいてい解決します。

    [lightbox:/images/library/Image/geeklog/rescue/geelog-rescue.png width:auto height:250]

  • DBへの接続情報は、db-config.phpです。

緊急レスキューツールのメニュー

  • システム情報

    • PHPバージョン: xxxxxxxxx phpinfo
    • Geeklogバージョン 2.0.0

    オプション

    サイトに不具合を引き起こすプラグインやアドオンをインストールしてしまった場合、以下のオプションで問題点を修正できます。

  • プラグインの有効化/無効化
  • ブロックの有効化/無効化
  • 主要な$_CONF変数の編集
  • 管理者パスワードのリセット

主要な$_CONF変数の編集

rescue.php の以下のコンフィギュレーション要素をエラーに応じて追加するとこのツールでDBに登録されたコンフィギュレーションを直接修正できます。コンフィギュレーションは入力の長さをあわせて入力するため修正時にエラーを起こす場合が多いのでDBを直接修正せず、このツールを使ってください。
$configs = array(
    'site_url', 'site_admin_url', 'site_mail', 'rdf_file', 'language', 'path_html',
    'path_themes', 'path_editors', 'path_images', 'path_log', 'path_language',
    'backup_path', 'path_data', 'path_pear', 'theme', 'cookie_path', 'cookiedomain',
);

エラーメッセージの例

例1) libcommon.phpのソースを編集してエラーを発生させる文字を追加した場合。
Parse error: syntax error, unexpected T_GLOBAL in <path_to_public>/lib-common.php on line 5613

例2) プラグインのディレクトリを削除した場合。

[lightbox:/images/library/Image/geeklog/rescue/geelog-error.png width:auto height:250]