• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください(詳細)。
  • WordPressのPHP・MySQL 4 対応終了予定が発表されました(詳細)。
  • 英語版Codexとフォーラム等のログイン情報が統合されました(詳細)。

このWikiはいつでも誰でも編集できます

wp-config.php の編集

出典: WordPress Codex 日本語版

このページを編集する際、自分の MySQL データベースのパスワード情報などを入力しないでください。

wp-config.php ファイルは、WordPressの環境設定を行なう重要なファイルです。WordPressがMySQLデータベースに接続するために必要な情報のほか、任意でその他の高度な設定を定義できます。

このファイルは通常、新規インストールスクリプトの実行中に自動的に生成されますが、上手くいかないときは下記の手順で作成してください。

アップグレード時の注意:
最新版にアップグレードする場合、このファイルを作り直す必要はありません。ただし、
  • セキュリティ向上のため、セキュリティ・キーだけは追加してください。
  • wp-includes/wp-db.php に「SET NAMES 'utf8'」を挿入して運用していた場合、2.2 以降では本体ファイルの修正は不要です。DB_CHARSET 設定をお使いください。


注: Version 2.6 から、wp-config.php ファイルを WordPress ディレクトリの真上のディレクトリに移動できるようになりました(参照)。


用意するもの

重要: Microsoft Word のようなワープロソフトは、WordPress ファイルの編集には 絶対に使わないでくださいWordPress 日本語版をお使いの場合、Windows のメモ帳(Notepad)も使えません。(使えるテキストエディタ

目次

  • テキストエディタ
  • データベースへの接続情報
    新規インストール時に wp-config.php を編集するには、次の情報が必須です。
    • データベース名: WordPress が使うデータベース名
    • データベース・ユーザ名: データベースへのアクセスに使うユーザ名
    • データベース・パスワード: データベースへのアクセスに使うパスワード
    • データベース・ホスト: データベースサーバのホスト名

ホスティング・プロバイダ(レンタルサーバ)側で WordPress をインストールしてくれたのであれば、接続情報はそちらから得られます。自分でウェブサーバやホスティング・アカウントを管理しているなら、データベースとユーザを作成したときにこの情報を得ているはずです。

wp-config.php ファイルの編集手順

wp-config.php ファイルは、WordPress のダウンロードファイルの中には存在しません。同梱されている wp-config-sample.php ファイルを見本にして、自分で作成します。

  1. 自分の WordPress のルートディレクトリ(フォルダ)にある wp-config-sample.php ファイルを同じディレクトリ内に複製して、ファイル名を wp-config.php に変更します。
  2. wp-config.phpテキストエディタで開き、自分の環境に合わせてデータベース設定セキュリティ・キーの値を書き換えます(その他はオプション)。
  3. 書き換え終わったら、もう一度見直しましょう!
    • 入力した値の前後に余計な空白が入っていないか?
    • 値を囲むシングルクオート(')をうっかり消してしまっていないか?
    • ファイルの先頭は <?php、最後の行は require_once(ABSPATH . 'wp-settings.php'); で終わり、その後ろに空行やスペースを入れないようにします。また、末尾の ?> も必要ありません(変更履歴 2.8を参照)。
  4. ファイルを保存します。
    (注) UTF-8 BOMありで保存してはいけません[1]

データベース設定

デフォルトの wp-config-sample.php では次のようになっています。この初期値を、最初に用意した自分のデータベース設定で置き換えていきます。

// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のデータベース名 */
define('DB_NAME', 'putyourdbnamehere');

/** MySQL のユーザー名 */
define('DB_USER', 'usernamehere');

/** MySQL のパスワード */
define('DB_PASSWORD', 'yourpasswordhere');

/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define('DB_HOST', 'localhost');

/** データベーステーブルのキャラクターセット (ほとんどの場合変更する必要はありません。) */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません。) */
define('DB_COLLATE', '');

/* */ の内側は、編集案内のためのコメントで、単に説明を追加しているだけです。

データベース名の設定

define('DB_NAME', 'putyourdbnamehere');

putyourdbnamehere の部分だけを消して、あなたのデータベース名を入力してください。シングルクォーテーションマーク(')を誤って消さないように注意!

この行は次のようになったはずです。

define('DB_NAME', '自分のデータベース名');

他の項目も同じように修正していきましょう。

データベース・ユーザ名の設定

usernamehere の部分をあなたのデータベース・ユーザ名で置き換えます。

define('DB_USER', '自分のデータベース・ユーザ名');

データベース・パスワードの設定

yourpasswordhere の部分をあなたのデータベース・パスワードで置き換えます。

define('DB_PASSWORD', '自分のデータベース・パスワード');

データベース・ホストの設定

ここではあなたのデータベースのホストを定義します。

define('DB_HOST', 'localhost');

注:ここは、ホスティング側から指示がない限り、変更しなくて済む可能性が高いでしょう。下記の一覧に載っていなくて、ホスト名が分からないときは、初期値 'localhost' のままインストールしてみてください。インストールに失敗したら、ホスティングプロバイダ(レンタルサーバ)に問い合わせてください。

DB_HOST 値の候補

ホスティング会社によって MySQL データベースのネットワーク設定が異なります。利用中のホスティングサービス名が以下の表に載っていれば、その右側の値と同じか似たような値でしょう。念のため、ホスティングサービスのオンライン説明書や FAQ のページを見るか、テクニカルサポートに問い合わせてください。

日本のホスティングサービス DB_HOST 値
XREA (無料サーバ) localhost
さくら mysqlnn.db.sakura.ne.jpnn は数字)
チカッパ! mysqlnn.chicappa.jpnn は数字。コントロールパネルの DB の「サーバー」)
エックスサーバー mysqlnn.xserver.jpnn は数字)
海外のホスティングサービス DB_HOST 値
inetd dbn.inetd.co.jpn は数字)
1and1 db12345678 の形式
AN Hosting、A Small Orange、BlueHost、HostGator、HostICan、LaughingSquid、one.com localhost
cPanel または Plesk、DirectAdmin を使っているサーバー localhost
DreamHost mysql.example.com の形式
GoDaddy h41mysql52.secureserver.net の形式
ICDSoft localhost:/tmp/mysql5.sock の形式
MediaTemple GridServer internal-db.s44441.gridserver.com の形式
pair Networks dbnnnx.pair.com の形式
Rackspace Cloud mysql50-01.wc1.dfw1.stabletransit.com の形式
Yahoo mysql
Tophost.it sql.your-domain-name.it
MySQL 代替ポート

もし利用しているホスティングサービスがデータベース用に代替ポート番号を使っている場合、DB_HOST 値を変更する必要があります。

localhost の場合:

define('DB_HOST', 'localhost:3307');

その他の場合:

define('DB_HOST', 'mysql.example.com:4454');

↑ 編集手順に戻る

データベース・キャラクタセット

WordPress バージョン 2.2 から、 DB_CHARSET で MySQL データベーステーブルの定義に使われるデータベースキャラクタセット(文字コードセット。例: タイの TIS620 用 tis620)の指定ができるようになりました。 デフォルト値 utf8Unicode UTF-8)は、ほとんどの場合に適した設定です。UTF-8 はどの言語にも対応しているので、通常、DB_CHARSET は utf8 のままにしておき、自分の言語に合う DB_COLLATE を使うべきです。

新規インストール実行時の注意
ほとんどの欧米言語では、DB_CHARSET の初期値を変更する理由はないはずです。ブログを他の文字コードセットにする必要があるなら、DB_CHARSET に正しい値を設定するために、MySQL でサポートされるキャラクタセットと照合順序(5.1)(4.1)をお読みください。
アップグレード実行時の注意 (特に 2.2 以前から設置しているブログの場合)
wp-config.php ファイルに DB_CHARSETDB_COLLATE の行が存在しない場合、DB 文字コードセットの変換を読んで理解しない限り、どちらの定義も wp-config.php ファイルに追加しないでください。既存ブログの wp-config.php ファイルに DB_CHARSETDB_COLLATE を追加すると、不具合が生じる可能性があります。
"SET NAMES 'utf8'" を挿入していた場合
2.1.3 以前に WordPress コアファイルに SET NAMES 'utf8' を挿入して運用していた場合は、その修正の替わりに DB_CHARSET 定義を使えるようになりました。SET NAMES 文は WordPress 2.2 で本体に組み込まれ、DB_CHARSET の値が使われます。

次の例は、WordPress の初期値 'utf8' の場合です。

define('DB_CHARSET', 'utf8');

↑ 編集手順に戻る

データベース照合順序

WordPress バージョン 2.2 から、DB_COLLATE で データベース照合順序(キャラクタセットのソート順)の指定ができるようになりました。ほとんどの場合、データベース照合順序は、データベース・キャラクタセット(DB_CHARSET)に基づいて MySQL によって自動的に割り当てられるので、この値は空(null)のままでいいはずです。DB_COLLATE には、ほとんどの欧米言語では Unicode キャラクタセット(utf8 照合順序)に記載されている UTF-8 の値の一つを設定します。

新規インストール実行時の注意
通常は、DB_COLLATE の初期値を変更する理由はないはずです。値を空(null)のままにしておけば、データベース作成時に MySQL によって自動的に割り当てられた照合順序となります。
アップグレード実行時の注意 (特に 2.2 以前から設置しているブログの場合)
wp-config.php ファイルに DB_CHARSETDB_COLLATE の行が存在しない場合、DB 文字コードセットの変換を読んで理解しない限り、どちらの定義も wp-config.php ファイルに追加しないでください。既存ブログの wp-config.php ファイルに DB_CHARSETDB_COLLATE を追加すると、不具合が生じる可能性があります。

WordPress の DB_COLLATE の初期値:

define('DB_COLLATE', '');

照合順序が UTF-8 Unicode General の場合

define('DB_COLLATE', 'utf8_general_ci');

照合順序を UTF-8 Unicode Turkish にする必要がある場合の例(DB_CHARSET は utf8):

define('DB_COLLATE', 'utf8_turkish_ci');

↑ 編集手順に戻る

認証用ユニークキー

Version 2.6 から、ユーザの Cookie に格納される情報をより強固な暗号化によって守るため、AUTH_KEYSECURE_AUTH_KEYLOGGED_IN_KEY という3種の認証用ユニークキーが追加されました。さらに Version 2.7 からは、4つめのキー NONCE_KEY が加わりました。

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');

このキーを覚えておく必要はありませんので、オンラインジェネレータを使ってできるだけ長くて複雑な組み合わせを作ってください。Cookie をすべて無効化したい場合は個の値を変更できますが、すべてのユーザーはサイドログインする必要があることに注意してください。

例:

define('AUTH_KEY', ':dr+%/5V4sAUG-gg%aS*v;&xGhd%{YKC^Z7KKGh j>k[.Nf$y7iGKdJ3c*[Kr5Bg');
define('SECURE_AUTH_KEY', 'TufWOuA _.t>#+hA?^|3RfGTm>@*+S=8\"\'+\"}]<m#+}V)p:Qi?jXLq,<h\\`39m_(');
define('LOGGED_IN_KEY', 'S~AACm4h1;T^\"qW3_8Zv!Ji=y|)~5i63JI |Al[(<YS<2V^$T])=8Xh2a:b:}U_E');
define('NONCE_KEY', 'k1+EOc-&w?hG8j84>6L9v\"6C89NH?ui{*3\\(t09mumL/fFP_!K$JCEkLuy ={x{0');


秘密鍵(シークレットキー) とは、パスワードにランダムな要素を加えることによってサイトへの不正アクセスや侵入・改竄を難しくする「ハッシュ用 salt」です。

簡単に言えば、秘密鍵はセキュリティの壁を破るのに必要なオプションを生成する難易度を高めるための要素を加えたパスワードです。「password」や「test」のようなパスワードは単純で簡単に破られてしまいます。「88a7da62429ba6ad3cb3c76a09641fc」のようにランダムで推測できないパスワードであれば、正しい組み合わせを見つけ出すまでには何年もかかるでしょう。

秘密鍵や堅牢なパスワードについての技術的な背景や分析について、詳しくは以下の資料をご覧ください。

↑ 編集手順に戻る

言語および言語ディレクトリ

WPLANG は、言語翻訳ファイル(.mo)の名前を定義します。プラグインやテーマの言語ファイル名の部分にも WPLANG の値が使われます。 LANGDIR は、WPLANG .mo ファイルが存在するディレクトリを定義するものです。LANGDIR が定義されていなければ、WordPress は wp-content/languageswp-includes/languages の順に .mo ファイルを 探します。詳しくは 言語ファイルのインストールをご覧ください。

define('WPLANG', 'de_DE');
define('LANGDIR', 'mylanguagedirectory');

WordPress 日本語版では、WPLANG の初期値は 'ja' です。

/**
 * ローカル言語 - このパッケージでは初期値として 'ja' (日本語 UTF-8) が設定されています。
 *
 * WordPress のローカル言語を設定します。設定した言語に対応する MO ファイルが 
 * wp-content/languages にインストールされている必要があります。例えば de.mo を 
 * wp-content/languages にインストールし WPLANG を 'de' に設定することでドイツ語がサポートされます。
 */
define ('WPLANG', 'ja');

↑ 編集手順に戻る

上級オプション

以下のセクションには上級/未対応の情報が含まれている可能性があります。いつものバックアップを確実に実行し、設定を試す前に復元方法を確認しておいてください。

$table_prefix : データベース・テーブル名の接頭辞

$table_prefix は、データベース・テーブル名の先頭に付ける値です。データベースの接頭辞を wp_ 以外にしたい場合、この値を変更してください。主に、同じデータベースで複数の WordPress ブログを設置/en するときに変更します。

値には半角英数字とアンダースコア(_)のみ使えます。

$table_prefix = 'wp_';

WordPress 日本語版

/**
 * WordPress データベーステーブルの接頭辞
 *
 * それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
 * インストールすることができます。半角英数字と下線のみを使用してください。
 */
$table_prefix = 'wp_';

同じデータベースに2つめのブログをインストールするには、1つめとは異なる接頭辞を用いるだけです。

$table_prefix = 'y77_';  // 半角英数字またはアンダースコアのみ

WordPress アドレス (URL)

WP_SITEURL は、「WordPress アドレス (URL)」を定義できるオプションであり、バージョン 2.2 で追加されました。ここで定義する値は、WordPress のコアファイルが存在する URL です。http:// の部分は記入し、末尾にスラッシュ "/" は入れないでください。wp-config.php でこの値を設定すると、wp_options テーブルoption_value siteurl の値よりも優先され、管理パネル > 設定 > 一般設定画面の「WordPress アドレス (URL)」欄は無効となります。

注: wp-config.php からこの行を削除すると、URL は元のデータベースの値に戻ります。データベースの値は変わりません。データベースの siteurl 値を書き換えるには RELOCATE 定数を使います/en

例えば、"example.com" というドメイン名の "wordpress" というディレクトリの中に WordPress を設置した場合、WP_SITEURL は次のように定義します。

define('WP_SITEURL', 'http://www.example.com/wordpress'); 

$_SERVER['HTTP_HOST'] を基に WP_SITEURL を動的に定義するには:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpressp');

注: 一部の設置の場合により安全な方法は、PHP またはユーザー側が生成した HTTP_HOST を使う代わりに、サーバーが生成した SERVER_NAME を使うことです。 HTTP_HOST は リクエストヘッダ内の値から PHP によって動的に生成されているため、ファイル混入脆弱性の可能性があります。SERVER_NAME はサーバー設定によって決定する静的な値です。

$_SERVER['SERVER_NAME'] を基に WP_SITEURL を動的に定義するには:

define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/path/to/wordpressp');

ブログアドレス (URL)

WP_HOMEバージョン 2.2 で追加された wp-config.php オプションです。WP_SITEURL と同じく、WP_HOME も wp_options テーブルhome の値よりも優先されますが、恒久的に変更する訳ではなく、ここに定義している間だけ切り替えるものです。home は、あなたの WordPress ブログに訪れる人がブラウザに入力するアドレス(URL)です。http:// の部分は記入し、末尾にスラッシュ "/" を入れてはいけません。

define('WP_HOME', 'http://www.example.com/wordpress'); 

WordPress を専用ディレクトリに配置する設定を行なっている場合は、次の例のようになります。ドキュメントルートディレクトリに index.php を置くことも忘れないでください。

define('WP_HOME', 'http://www.example.com'); 

$_SERVER['HTTP_HOST'] を基に WP_HOME を動的に定義するには:

define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress');

wp-content ディレクトリの移動

Version 2.6 以降では、テーマやプラグイン、アップロードファイルなどがある wp-content ディレクトリを WordPress アプリケーションディレクトリの外に移動できます。

WP_CONTENT_DIR にこのディレクトリのフル「ローカルパス」を指定する例(末尾のスラッシュ(/)なし)

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );

WP_CONTENT_URL にこのディレクトリのフル「URL」を指定する例(末尾のスラッシュ(/)なし)

define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');

オプション

WP_PLUGIN_DIR にこのディレクトリのフル「ローカルパス」を指定する例(末尾のスラッシュ(/)なし)

define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );

WP_PLUGIN_URL にこのディレクトリのフル「URL」を指定する例(末尾のスラッシュ(/)なし)

define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');

プラグインとの互換性に問題がある場合、PLUGINDIR にこのディレクトリのフル「ローカルパス」を指定する例(末尾のスラッシュ(/)なし)

define( 'PLUGINDIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );

自動保存間隔の変更

投稿を編集する際、WordPress は Ajax を使って編集中の状態を自動保存します。自動保存の間隔を延ばすにはこの値を増やし、編集を確実に保存するにはこの値を減らします。初期値は 60秒です。

define('AUTOSAVE_INTERVAL', 160 );  // seconds

投稿の改訂履歴

WordPress の初期設定では、投稿やページの編集毎に複製が保存され、その投稿・ページを旧バージョンの版に戻せるようになっています。この改訂履歴の保存機能は無効にしたり、保存する版数を指定したりできます。

投稿の改訂履歴保存の無効化

WP_POST_REVISIONS を設定していない場合は、デフォルトで true(投稿の改訂履歴機能が有効)になっています。この機能を無効にするには、次のように設定します。

define('WP_POST_REVISIONS', false );

改訂履歴の最大数の指定

改訂の保存版数の最大値を指定したい場合、false を整数(数字。例えば 35)に変更します。

define('WP_POST_REVISIONS', 3);

一般的でないドメイン設定をしている場合、Cookie 内で WordPress の使うドメインを指定することもできます。例えば静的コンテンツを提供するためのサブドメインを設定している場合などです。WordPress Cookie がサブドメイン内の静的コンテンツへのリクエストの度に送信されるのを防ぐには、Cookie ドメインを非静的ドメインのみに指定します。

define('COOKIE_DOMAIN', 'www.example.com');

デバッグ

バージョン 2.3.1 で追加された WP_DEBUG オプションは、一部のエラーや警告の表示を制御します。この定義が wp-config.php にない場合、値は false とみなされます。

注: 以下の例では true/false の値はアポストロフィ(')なしで書かれています。これは、この値が論理値だからです。

define('WP_DEBUG', true);
define('WP_DEBUG', false);

さらに、WordPress のビルトイン JavaScript を変更するつもりなら、以下のオプションも有効化します。

define('SCRIPT_DEBUG', true);

これにより、wp-includes/js および wp-admin/js ディレクトリの scriptname.dev.js ファイルを編集できます。

古いバージョンではデータベースエラーが常に表示されていましたが、バージョン2.3.2以降、WP_DEBUG が true の場合のみ表示されます(データベースエラーは wpdb Class によって処理され、PHP のエラー設定には影響を受けません)。

バージョン2.5以降、WP_DEBUG を true にした場合、エラー出力レベル も E_ALL に上げられ、非推奨関数やファイルを使った時に警告を出力します。false の場合は、WordPress はエラー出力レベルを E_ALL ^ E_NOTICE ^ E_USER_NOTICE に設定します。

JavaScript 連結の無効化

管理画面のスピードアップのため、JavaScript ファイルはすべてひとつの URL に連結されます。管理画面で JavaScript がうまく動作しない場合、この機能を以下のようにして無効化できます。

define('CONCATENATE_SCRIPTS', false);

エラーログの設定

wp-config.php はキャッシュファイル以外のページ表示の際に必ず読み込まれるため、インストールした PHP の php.ini 設定をするのに向いている場所といえます。php.ini ファイルにアクセス権がなかったり、いくつかの設定をその場で変更したい時などに便利です。

PHP の error_logging を有効化し、特定のファイルにログを残す例です。WP_DEBUG が true の場合もこのファイルにエラーを保存します。require_once または include 命令より上にこのように付け加えるだけです。

@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/home/example.com/logs/php_error.log');

PHP への割り当てメモリ増加

バージョン 2.5から、WP_MEMORY_LIMIT オプションで PHP が消費するメモリの最大値を設定できるようになりました。"Allowed memory size of xxxxxx bytes exhausted" といったメッセージが表示される場合などにおそらく必要な設定です。

この設定は WordPress のみでの PHP メモリを変更するので、他のアプリケーションは影響を受けません。デフォルトでは、WordPress は PHP のメモリを 32MB まで増加する試みを行います(wp-settings.php の冒頭にこのコードがあります)。このため、wp-config.php での設定は 32MB 以上にする必要があります。

ホスティングプロバイダが PHP メモリの上限を設定している場合、この設定は無視される場合があります。その場合は上限を上げてもらえるかホストに問い合わせてみてください。多くのホストは 8MB を上限にしています。

PHP メモリーを 64MB に増加:

define('WP_MEMORY_LIMIT', '64M');

PHP メモリーを 96M に増加:

define('WP_MEMORY_LIMIT', '96M');

キャッシュ

The WP_CACHE setting, if true, includes the wp-content/advanced-cache.php script, when executing wp-settings.php.

define('WP_CACHE', true);

カスタム User・Usermeta テーブル

CUSTOM_USER_TABLE および CUSTOM_USER_META_TABLE は、通常 WordPress が利用する user および usermeta テーブルを使わない場合に代わりのテーブルを指定するために定義します。

define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');

解析用クエリの保存

SAVEQUERIES を定義すると、分析用にデータベースクエリを配列に保存し、表示できます。保存されるのは各クエリ、呼び出された関数、クエリ実行にかかった時間の情報です。

注: サイトのパフォーマンスに影響が出ます。デバッグ中以外は無効化しておきましょう。

まず、wp-config.php に以下を追加します。

define('SAVEQUERIES', true);

それからテーマの footer.php に以下を追加します。

<?php
if (current_user_can('administrator')){
    global $wpdb;
    echo "<pre>";
    print_r($wpdb->queries);
    echo "</pre>";
}
?>

デフォルトファイルパーミッションの上書き

FS_CHMOD_DIR および FS_CHMOD_FILE はデフォルトのファイルパーミッションを上書き再定義できる文です。この2つの定数は、suEXEC で動作するホスト(イタリアのホストなど)でコアアップグレード機能が失敗する問題に対応すべく開発されました。ユーザファイル全てに限定パーミッション(400 など)を用いるホストで、グループおよびその他のクラスがファイルにアクセスできるようにするパーミッション設定を拒否される場合、この定義で解決できます。

define('FS_CHMOD_DIR', (0755 & ~ umask()));
define('FS_CHMOD_FILE', (0644 & ~ umask()));

値は 0755 のように八進数で記入し、シングルクォート(')で囲んではいけません。ファイルパーミッションの変更を参照のこと。

FTP・SSH 定数

アップグレードオプションとして SSH2 を有効化するには、pecl SSH2 拡張をインストールする必要があります。このライブラリをインストールするには、以下のようなコマンドを発行するか、ホスティングサービスに相談してインストールしてもらいます。installed:

pecl install ssh2

pecl ssh2 拡張をインストールしたら、ライブラリが自動的に読み込まれるよう PHP の設定を修正する必要があります。

pecl is provided by the pear package in most linux distributions. To install pecl in Redhat/Fedora/CentOS:

yum -y install php-pear

Debian/Ubuntu に pecl をインストールするには、以下をを使います。

apt-get install php-pear

これらの WordPress 本体・プラグイン・テーマアップグレード方法では PHP を使って WordPress のパスを判断しようとしますが、シンボリックリンクによっておかしくなってしまうことがあります。FTP ユーザとしてサーバ上にある各フォルダへのパスが分かっていれば、手動でそのパスをwp-config.php ファイルに定義できます。

FTP/SSH 更新に関する定数は以下の通りです。

  • FS_METHOD: ファイルシステムメソッドの指定。"direct"、"ssh"、"ftpext"、"ftpsockets" のいずれか。
  • FTP_BASE: インストールした WordPress のベースフォルダへのフルパス。
  • FTP_CONTENT_DIR: インストールした WordPress の wp-content フォルダへのフルパス。
  • FTP_PLUGIN_DIR: インストールした WordPress の plugins フォルダへのフルパス。
  • FTP_PUBKEY': SSH 公開鍵へのフルパス。
  • FTP_PRIKEY: SSH 秘密鍵へのフルパス。
  • FTP_USER: FTP または SSH のユーザー名。同一の場合がほとんどだが、利用したい更新タイプのユーザーに一致させること。
  • FTP_PASS: FTP_USER で入力したユーザーのパスワード。SSH 公開鍵での認証を使っている場合は省略可能。
  • FTP_HOST: SSH/FTP サーバーのホスト名:ポート番号の組み合わせ。FTP ポートは通常21で、SSH ポートは22。
  • FTP_SSL SLL 接続を使う。.
define('FS_METHOD', 'ftpext');
define('FTP_BASE', '/path/to/wordpress/');
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
define('FTP_PLUGIN_DIR', '/path/to/wordpress/wp-content/plugins/');
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.org:21');
define('FTP_SSL', false);

秘密鍵はパスフレーズで保護しないことをおすすめします。パスフレーズで保護した秘密鍵はうまく動作しないと言う報告が数々あります。もし使う場合は、FTP_PASS としてパスフレーズを入力する必要があります。

WordPresss やプラグインのアップグレード・インストールでの SSH の使い方がまだよく分からない場合は、このチュートリアル(リンク先は英語)をご覧ください。

代替 Cron

予約済み投稿の公開がうまくいかない場合などに使います。Otto がフォーラムで説明したところによると、「この代替メソッドではリダイレクト手法を使う。Cron が走る前にユーザーのブラウザがリダイレクトされるので、直前に投げた接続で Cron が走り続けている間、サイトにすぐ戻ってくることができる。このメソッドは時々不安定なため、デフォルトにはしていない」とのこと。

define('ALTERNATE_WP_CRON', true);

他の定義定数

さらに定義が可能な定数は以下の通りですが、定義しなくていい場合がほとんどです。Cookie 定数は、独特なドメインの設定をしている場合特に便利でしょう。

define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home') . '/' ) );
define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
define('PLUGINS_COOKIE_PATH', preg_replace('|https?://[^/]+|i', '', WP_PLUGIN_URL)  );
define('TEMPLATEPATH', get_template_directory());
define('STYLESHEETPATH', get_stylesheet_directory());
define('DISABLE_WP_CRON', true);

ゴミ箱を空にする

バージョン 2.9で追加されたこの定数は、WordPress がゴミ箱に入っている投稿、固定ページ、添付ファイル、コメントを永久に削除するまでの日数をコントロールします。デフォルトは30日間です。

define('EMPTY_TRASH_DAYS', 30 ); // 30日

ゴミ箱機能を無効化するには、この数字を0にします。この設定の場合、何かを削除しようとした場合に確認ダイアログが出ず、即座に削除されるのでご注意ください。

define('EMPTY_TRASH_DAYS', 0 ); // 0日

すべての定義済み定数を表示

PHP には現在定義されている定数とその値を配列にして返す関数があります。

print_r(@get_defined_constants());

自動データベース最適化

バージョン 2.9 から自動データベース最適化対応が含まれるようになりました。もし必要な場合のみ、以下の定義を wp-config.php ファイルに記入することで有効化できます。

 define('WP_ALLOW_REPAIR', true);

このスクリプトは、{$your_site}/wp-admin/maint/repair.php にあります。

注: この定義はあくまでも機能を有効化するだけです。定義をすると、ユーザーはログインしなくてもこの機能にアクセスできます。これは、データベースが破損している場合ユーザーがログインできなくても修理を行えるようにです。


関連ページ

変更履歴

最新英語版: WordPress Codex » Editing wp-config.php最新版との差分

この項目「wp-config.php の編集」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

脚注

引用エラー Invalid <references group="" /> tag;

group name "" not defined in <ref>