wp-settings.php (6)

2009 年 7 月 5 日 日曜日  【 カテゴリー: wordpress構造解析 , wp_root


「wp-settings.php」の続きをみていきます。
※wordress2.7で解析しています。

【 前回まで 】
phpのメモリ上限の設定
「magic_quotes_runtime」「magic_quotes_sybase」の設定
「register_globals」が「ON」の場合のセキュリティー対策
IISサーバでの、$_SERVER['REQUEST_URI'] の調整
$_SERVER['SCRIPT_FILENAME'] の調整
$_SERVER['PATH_INFO'] の破棄
$_SERVER['PHP_SELF'] の調整
analyze08
⑧ wordpressのバージョンチェック
if ( version_compare( '4.3', phpversion(), '>' ) ) {
    die( sprintf( /*WP_I18N_OLD_PHP*/'<サーバーの PHP のバージョンは %s です。WordPress は 4.3 以上でご利用になれます。'/*/WP_I18N_OLD_PHP*/, phpversion() ) );
}

phpのバージョンが4.3未満の場合、die関数でメッセージを表示しプログラムを中断しています。特にwordpress専用の関数を使っているわけでもないのに中途半端な箇所での判定な気もしますが。とりあえずphp4.3以上でないと使えない仕様のようです。

⑨ 定数「WP_CONTENT_DIR」の定義
if ( !defined('WP_CONTENT_DIR') )
    define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
   // no trailing slash, full paths only - WP_CONTENT_URL is defined further down

wordpressのコアである「wp-content」ディレクトリへのパスを定数に定義しています。
定数「WP_CONTENT_DIR」が定義されないときだけ処理されますから、
ここより先に指定してしまえば、ディレクトリ構成を変更することができます。
あまりコアは変更するのは良くないので、データベース情報などを記述する「wp-config.php」あたりが良いのはないでしょうか。ここは恐らく自動アップデートでも変更されないでしょう。

⑩ 自動アップグレード処理判定
if ( file_exists(ABSPATH . '.maintenance') && !defined('WP_INSTALLING') ) {
    include(ABSPATH . '.maintenance');
    // If the $upgrading timestamp is older than 10 minutes, don't die.
    if ( ( time() - $upgrading ) < 600 ) {
        if ( file_exists( WP_CONTENT_DIR . '/maintenance.php' ) ) {
            require_once( WP_CONTENT_DIR . '/maintenance.php' );
            die();
        }
        $protocol = $_SERVER["SERVER_PROTOCOL"];
        if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
            $protocol = 'HTTP/1.0';
        header( "$protocol 503 Service Unavailable", true, 503 );
        header( 'Content-Type: text/html; charset=utf-8' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Maintenance</title>
</head>
<body>
    <h1>Briefly unavailable for scheduled maintenance. Check back in a minute.</h1>
</body>
</html>
<?php
        die();
    }
}

「.maintenance」ファイルが存在したら処理をします。この「.maintenance」は通常はありません。調べてみるとどうやら自動アップ デートのときの、処理中であるという印ファイルみたいです。印ファイルがあるときにアクセスしたら次のようなメッセージを表示しています。

Briefly unavailable for scheduled maintenance. Check back in a minute
ちょっとの間、定期メンテナンス中の為利用できません。数分後にきてください。

参考サイト:

管理パネル/ツール/アップグレード - WordPress Codex 日本語版
WordPressで企業ウェブサイト作成・商用ホームページ制作 WordPress Go Go


にほんブログ村 IT技術ブログ Webサイト構築へ
にほんブログ村
【WEBサイト構築・プログラムブログ】
ランキング参加中!よろしければ「クリック」お願いします。
にほんブログ村 IT技術ブログ プログラム・プログラマへ
にほんブログ村
2009 年 7 月 5 日 日曜日  【 カテゴリー: wordpress構造解析 , wp_root

コメントをどうぞ

※管理者による確認後に表示されます。表示までしばらくお待ちください。