• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

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

「wp-config.php の編集」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(和訳を完了。)
(追加:「FTP_SSL」、2.9「Automatic Database Optimizing」/削除:「table_prefix」安全性記述/日本語向け:「言語」節移動、一部説明を冒頭に移動、末尾の ?> がなくなった件を説明、ほか)
1行目: 1行目:
 
{{スタートガイド|インストール|off1}}
 
{{スタートガイド|インストール|off1}}
[[WordPress のインストール]]の一環として、MySQL データベースへのアクセスに必要な WordPress 環境設定を定義する '''<code>wp-config.php</code> ファイル'''の編集が必要です。
+
{{NeedTrans|[[#Automatic Database Optimizing]] 節が}}
 +
'''<code>wp-config.php</code> ファイル'''は、WordPressの環境設定を行なう重要なファイルです。WordPressが[[用語集#MySQL|MySQLデータベース]]に接続するために必要な情報のほか、任意でその他の高度な設定を定義できます。
 +
 
 +
このファイルは通常、[[WordPress のインストール#Step 5: Run the Install Script|新規インストールスクリプトの実行]]中に自動的に生成されますが、上手くいかないときは下記の手順で作成してください。
 +
 
 +
; [[WordPress のアップグレード|アップグレード]]時の注意:
 +
: [[WordPress Versions#latest|最新版]]にアップグレードする場合、このファイルを作り直す必要はありません。ただし、
 +
:* セキュリティ向上のため、[[#Security Keys|セキュリティ・キー]]だけは追加してください。
 +
:* <code>wp-includes/wp-db.php</code> に「<code>SET NAMES 'utf8'</code>」を挿入して運用していた場合、2.2 以降では本体ファイルの修正は不要です。[[#Database character set|DB_CHARSET 設定]]をお使いください。
 +
 
 +
 
 +
<p class="information">注: [[Version 2.6]] から、<code>wp-config.php</code> ファイルを WordPress ディレクトリの真上のディレクトリに移動できるようになりました([[#Moving wp-content|参照]])。</p>
  
; [[WordPress のアップグレード|アップグレード]]時の注意
 
: [[WordPress Versions#latest|最新版]]にアップグレードする場合、このファイルを作り直す必要はありません。
 
: ただし、
 
:* セキュリティ向上のため 4つの[[#Security Keys|セキュリティ・キー]]だけは追加してください。
 
:* <code>wp-includes/wp-db.php</code> に「<code>SET NAMES 'utf8'</code>」を挿入して運用していた場合、2.2 以降では修正不要です。[[#Database character set|DB_CHARSET]] をお使いください。
 
 
<br class="clear"; />
 
<br class="clear"; />
 
== 用意するもの ==
 
== 用意するもの ==
  
 
<div class="important" style="margin-bottom:15px">
 
<div class="important" style="margin-bottom:15px">
'''重要''': Microsoft Word のようなワープロソフトは、WordPress ファイルの編集には '''絶対に使わないでください'''![[日本語で WordPress#WordPress 日本語版|WordPress 日本語版]]をお使いの場合、Windows のメモ帳(Notepad)も使えません。([[用語集#WordPress で用いるテキストエディタ|詳細]])
+
'''重要''': Microsoft Word のようなワープロソフトは、WordPress ファイルの編集には '''絶対に使わないでください'''![[日本語で WordPress#WordPress 日本語版|WordPress 日本語版]]をお使いの場合、Windows のメモ帳(Notepad)も使えません。([[用語集#WordPress で用いるテキストエディタ|使えるテキストエディタ]])
 
</div>
 
</div>
 
__TOC__
 
__TOC__
 
 
* [[用語集#テキストエディタ|テキストエディタ]]
 
* [[用語集#テキストエディタ|テキストエディタ]]
 
* '''データベースへの接続情報'''<br />新規インストール時に <code>wp-config.php</code> を編集するには、次の情報が必須です。
 
* '''データベースへの接続情報'''<br />新規インストール時に <code>wp-config.php</code> を編集するには、次の情報が必須です。
28行目: 33行目:
 
</div>
 
</div>
  
<code>wp-config.php</code> ファイルは、WordPress のダウンロードファイルの中には存在しません。通常はブラウザ上のインストールウィザードを使えば自動的に生成されますが、もしも上手くいかない場合は同梱されている <code>wp-config-sample.php</code> ファイルを見本にして、自分で作成します。
+
<code>wp-config.php</code> ファイルは、WordPress のダウンロードファイルの中には存在しません。同梱されている <code>wp-config-sample.php</code> ファイルを見本にして、自分で作成します。
  
# 自分の WordPress のルートディレクトリ(フォルダ)にある <code>wp-config-sample.php</code> ファイルを同じディレクトリ内に複製して、ファイル名を <code>wp-config.php</code> に変更します。
+
# 自分の WordPress のルートディレクトリ(フォルダ)にある '''<code>wp-config-sample.php</code>''' ファイルを同じディレクトリ内に複製して、ファイル名を '''<code>wp-config.php</code>''' に変更します。
# <code>wp-config.php</code> を[[用語集#Text_editor|テキストエディタ]]で開き、自分の環境に合わせて[[#.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9.E8.A8.AD.E5.AE.9A|データベース設定]]の設定値を書き換えます(その他はオプション)。
+
# <code>wp-config.php</code> を[[用語集#Text_editor|テキストエディタ]]で開き、自分の環境に合わせて[[#Configure Database Settings|データベース設定]]と[[#Security Keys|セキュリティ・キー]]の値を書き換えます(その他はオプション)。
 
<!-- #* [[#Configure Database Settings|データベース接続情報]] (<code>DB_NAME</code>、<code>DB_USER</code>、<code>DB_PASSWORD</code>、<code>DB_HOST</code>)
 
<!-- #* [[#Configure Database Settings|データベース接続情報]] (<code>DB_NAME</code>、<code>DB_USER</code>、<code>DB_PASSWORD</code>、<code>DB_HOST</code>)
 
#* [[#Security Keys|セキュリティ・キー]] (<code>AUTH_KEY</code> ほか)
 
#* [[#Security Keys|セキュリティ・キー]] (<code>AUTH_KEY</code> ほか)
38行目: 43行目:
 
#* 入力した値の前後に余計な空白が入っていないか?
 
#* 入力した値の前後に余計な空白が入っていないか?
 
#* 値を囲むシングルクオート(<code>'</code>)をうっかり消してしまっていないか?
 
#* 値を囲むシングルクオート(<code>'</code>)をうっかり消してしまっていないか?
#* ファイルの先頭は <code><?php</code>、最後の行は <code>require_once(ABSPATH . 'wp-settings.php');</code> にします。その後ろに空行やスペースを入れないようにします。また、末尾の <code>?></code> も必要ありません。
+
#* ファイルの先頭は <code><?php</code>、最後の行は <code>require_once(ABSPATH . 'wp-settings.php');</code> で終わり、その後ろに空行やスペースを入れないようにします。また、末尾の <code>?></code> も必要ありません([[#変更履歴|変更履歴 2.8]]を参照)。
 
# ファイルを保存します。<br />'''(注) UTF-8 BOMありで保存してはいけません'''。<ref>「Warning: Cannot modify header information - headers already sent by ~」というエラーが出ます。Windows のメモ帳も UTF-8 BOMありで保存されるため使えません。([[用語集#Text editor|参考]])</ref>
 
# ファイルを保存します。<br />'''(注) UTF-8 BOMありで保存してはいけません'''。<ref>「Warning: Cannot modify header information - headers already sent by ~」というエラーが出ます。Windows のメモ帳も UTF-8 BOMありで保存されるため使えません。([[用語集#Text editor|参考]])</ref>
 
<!-- # [[WordPress のインストール#Step 4: Upload the files|インストールの次の手順]](ファイルアップロード)に進みましょう。 -->
 
<!-- # [[WordPress のインストール#Step 4: Upload the files|インストールの次の手順]](ファイルアップロード)に進みましょう。 -->
 
注: [[Version 2.6]] から、<code>wp-config.php</code> ファイルを WordPress ディレクトリの真上のディレクトリに移動できるようになりました([[#Moving wp-content|参照]])。
 
  
 
<div id="Configure_Database_Settings">
 
<div id="Configure_Database_Settings">
107行目: 110行目:
 
  define('DB_HOST', ''''localhost'''');
 
  define('DB_HOST', ''''localhost'''');
  
注:ここは、ホスティング側から指示がない限り、99% 変更'''しなくて'''済むでしょう。分からなければ、初期値 <code>'localhost'</code> のままインストールしてみてください。インストールに失敗したら、ホスティングプロバイダ(レンタルサーバ)に問い合わせてください。
+
注:ここは、ホスティング側から指示がない限り、変更'''しなくて'''済む可能性が高いでしょう。[[#Possible DB_HOST values|下記の一覧]]に載っていなくて、ホスト名が分からないときは、初期値 <code>'localhost'</code> のままインストールしてみてください。インストールに失敗したら、ホスティングプロバイダ(レンタルサーバ)に問い合わせてください。
  
 
<div id="Possible_DB_HOST_values">
 
<div id="Possible_DB_HOST_values">
=== DB_HOST 値の候補 ===
+
===== DB_HOST 値の候補 =====
 
</div>
 
</div>
 
ホスティング会社によって MySQL データベースのネットワーク設定が異なります。利用中のホスティングサービス名が以下の表に載っていれば、その右側の値と同じか似たような値でしょう。念のため、ホスティングサービスのオンライン説明書や FAQ のページを見るか、テクニカルサポートに問い合わせてください。
 
ホスティング会社によって MySQL データベースのネットワーク設定が異なります。利用中のホスティングサービス名が以下の表に載っていれば、その右側の値と同じか似たような値でしょう。念のため、ホスティングサービスのオンライン説明書や FAQ のページを見るか、テクニカルサポートに問い合わせてください。
  
 
{| class="border"
 
{| class="border"
|- align="center" bgcolor="#ccc" color="000" border="1"
+
|- align="center" bgcolor="#eee" color="000" border="1"
 
! 日本のホスティングサービス !! DB_HOST 値
 
! 日本のホスティングサービス !! DB_HOST 値
 
|-  
 
|-  
125行目: 128行目:
 
|-
 
|-
 
| エックスサーバー || <code>mysql''nn''.xserver.jp</code> (<code>''nn''</code> は数字)
 
| エックスサーバー || <code>mysql''nn''.xserver.jp</code> (<code>''nn''</code> は数字)
|- align="center" bgcolor="#ccc" color="000" border="1"
+
|- align="center" bgcolor="#eee" color="000" border="1"
 
! 海外のホスティングサービス !! DB_HOST 値
 
! 海外のホスティングサービス !! DB_HOST 値
 
|-
 
|-
132行目: 135行目:
 
| 1and1 || <code>db12345678</code> の形式
 
| 1and1 || <code>db12345678</code> の形式
 
|-
 
|-
| AN Hosting、BlueHost、HostGator、HostICan、LaughingSquid、one.com || <code>localhost</code>
+
| AN Hosting、A Small Orange、BlueHost、HostGator、HostICan、LaughingSquid、one.com || <code>localhost</code>
 
|-
 
|-
| cPanel、Plesk、または DirectAdmin を使っているサーバー || <code>localhost</code>
+
| cPanel または Plesk、DirectAdmin を使っているサーバー || <code>localhost</code>
 
|-
 
|-
 
| DreamHost || <code>mysql.example.com</code> の形式
 
| DreamHost || <code>mysql.example.com</code> の形式
147行目: 150行目:
 
|-  
 
|-  
 
| Yahoo || <code>mysql</code>
 
| Yahoo || <code>mysql</code>
 +
|-
 +
| Tophost.it || <tt>sql.your-domain-name.it</tt>
 
|}
 
|}
  
 
<div id="MySQL_Alternate_Port">
 
<div id="MySQL_Alternate_Port">
=== MySQL 代替ポート ===
+
===== MySQL 代替ポート =====
 
</div>
 
</div>
 
もし利用しているホスティングサービスがデータベース用に代替ポート番号を使っている場合、'''DB_HOST''' 値を変更する必要があります。
 
もし利用しているホスティングサービスがデータベース用に代替ポート番号を使っている場合、'''DB_HOST''' 値を変更する必要があります。
159行目: 164行目:
 
その他の場合:
 
その他の場合:
 
  define('DB_HOST', 'mysql.example.com:'''4454'''<nowiki>'</nowiki>);
 
  define('DB_HOST', 'mysql.example.com:'''4454'''<nowiki>'</nowiki>);
 +
 +
<p class="backto">[[#Creating_the_file|↑ 編集手順に戻る]]</p>
  
 
<div id="Database_character_set">
 
<div id="Database_character_set">
177行目: 184行目:
 
define('DB_CHARSET', 'utf8');
 
define('DB_CHARSET', 'utf8');
 
</pre>
 
</pre>
 +
 +
<p class="backto">[[#Creating_the_file|↑ 編集手順に戻る]]</p>
  
 
<div id="Database_collation">
 
<div id="Database_collation">
199行目: 208行目:
 
照合順序を UTF-8 Unicode Turkish にする必要がある場合の例(DB_CHARSET は utf8):
 
照合順序を UTF-8 Unicode Turkish にする必要がある場合の例(DB_CHARSET は utf8):
 
  define('DB_COLLATE', 'utf8_turkish_ci');
 
  define('DB_COLLATE', 'utf8_turkish_ci');
 +
 +
<p class="backto">[[#Creating_the_file|↑ 編集手順に戻る]]</p>
  
 
<div id="Security_Keys">
 
<div id="Security_Keys">
=== 認証用ユニークキー ===
+
== 認証用ユニークキー ==
 
</div>
 
</div>
 
[[Version 2.6]] から、ユーザの Cookie に格納される情報をより強固な暗号化によって守るため、'''AUTH_KEY'''、'''SECURE_AUTH_KEY'''、'''LOGGED_IN_KEY''' という3種の認証用ユニークキーが追加されました。さらに [[Version 2.7]] からは、4つめのキー '''NONCE_KEY''' が加わりました。
 
[[Version 2.6]] から、ユーザの Cookie に格納される情報をより強固な暗号化によって守るため、'''AUTH_KEY'''、'''SECURE_AUTH_KEY'''、'''LOGGED_IN_KEY''' という3種の認証用ユニークキーが追加されました。さらに [[Version 2.7]] からは、4つめのキー '''NONCE_KEY''' が加わりました。
240行目: 251行目:
 
* [http://boren.nu/archives/2008/07/14/ssl-and-cookies-in-wordpress-26/ Ryan Boren - SSL and Cookies in WordPress 2.6] (WordPress 2.6 における SSL と Cookie)
 
* [http://boren.nu/archives/2008/07/14/ssl-and-cookies-in-wordpress-26/ Ryan Boren - SSL and Cookies in WordPress 2.6] (WordPress 2.6 における SSL と Cookie)
 
* [http://wordpress.org/support/topic/170987 WordPress Support Forum - HOWTO: Set up secret keys in WordPress 2.6+] (WordPress 2.6 以降における秘密鍵の設定方法)
 
* [http://wordpress.org/support/topic/170987 WordPress Support Forum - HOWTO: Set up secret keys in WordPress 2.6+] (WordPress 2.6 以降における秘密鍵の設定方法)
 +
 +
<p class="backto">[[#Creating_the_file|↑ 編集手順に戻る]]</p>
 +
 +
<div id="Language_and_Language_Directory">
 +
== 言語および言語ディレクトリ ==
 +
<!-- 英語以外のユーザにとっては「上級オプション」ではないので、この位置に戻します。bono -->
 +
</div>
 +
'''WPLANG''' は、[[WordPress の翻訳|言語翻訳]]ファイル(<code>.mo</code>)の名前を定義します。プラグインやテーマの言語ファイル名の部分にも WPLANG の値が使われます。
 +
'''LANGDIR''' は、WPLANG <code>.mo</code> ファイルが存在するディレクトリを定義するものです。LANGDIR が定義されていなければ、WordPress は <code>wp-content/languages</code>、<code>wp-includes/languages</code> の順に <code>.mo</code> ファイルを 探します。詳しくは [[Installing WordPress in Your Language|言語ファイルのインストール]]をご覧ください。
 +
 +
<pre>define('WPLANG', 'de_DE');</pre>
 +
<pre>define('LANGDIR', 'mylanguagedirectory');</pre>
 +
 +
[[日本語で WordPress#WordPress 日本語版|WordPress 日本語版]]では、WPLANG の初期値は 'ja' です。
 +
 +
<pre>
 +
/**
 +
* ローカル言語 - このパッケージでは初期値として 'ja' (日本語 UTF-8) が設定されています。
 +
*
 +
* WordPress のローカル言語を設定します。設定した言語に対応する MO ファイルが
 +
* wp-content/languages にインストールされている必要があります。例えば de.mo を
 +
* wp-content/languages にインストールし WPLANG を 'de' に設定することでドイツ語がサポートされます。
 +
*/
 +
define ('WPLANG', 'ja');
 +
</pre>
 +
 +
<p class="backto">[[#Creating_the_file|↑ 編集手順に戻る]]</p>
  
 
<div id="Advanced_Options">
 
<div id="Advanced_Options">
252行目: 290行目:
 
=== $table_prefix : データベース・テーブル名の接頭辞 ===
 
=== $table_prefix : データベース・テーブル名の接頭辞 ===
 
</div>
 
</div>
<code>$table_prefix</code> は、[[データベース概要|データベース・テーブル名]]の先頭に付ける値です。データベースの接頭辞を '''wp_''' 以外にしたい場合、この値を変更してください。主に、同じデータベースで[[Installing Multiple Blogs|複数の WordPress ブログを設置]]/[[:en:Installing Multiple Blogs|en]] するときや、安全性を高めたいときに変更します。
+
<code>$table_prefix</code> は、[[データベース概要|データベース・テーブル名]]の先頭に付ける値です。データベースの接頭辞を '''wp_''' 以外にしたい場合、この値を変更してください。主に、同じデータベースで[[Installing Multiple Blogs|複数の WordPress ブログを設置]]/[[:en:Installing Multiple Blogs|en]] するときに変更します。
  
 
値には半角英数字とアンダースコア(<code>_</code>)のみ使えます。
 
値には半角英数字とアンダースコア(<code>_</code>)のみ使えます。
259行目: 297行目:
  
 
[[日本語で WordPress#WordPress 日本語版|WordPress 日本語版]]:
 
[[日本語で WordPress#WordPress 日本語版|WordPress 日本語版]]:
<pre>
 
/**
 
* WordPress データベーステーブルの接頭辞
 
*
 
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
 
* インストールすることができます。半角英数字と下線のみを使用してください。
 
*/
 
$table_prefix = 'wp_';
 
</pre>
 
 
WordPress ブログの安全性を高めるために、新規インストール前にこの値を変更するのはよい考えです。悪意あるクラッカーによるセキュリティ上の弱点を突く攻撃は、しばしば接頭辞に '''wp_''' が使われていることを前提として行なわれるので、この値の変更により攻撃が軽減されます。
 
<!--
 
Its a safe and good idea to change this value pre-installation to add more security to your WordPress blog.  Exploits attempted against your WordPress blog by malicious crackers often are built with the premise that your blog uses the prefix '''wp_''', by changing the value you mitigate some attack vectors.
 
-->
 
 
<pre>
 
<pre>
 
/**
 
/**
286行目: 310行目:
  
 
  $table_prefix = 'y77_';  // 半角英数字またはアンダースコアのみ
 
  $table_prefix = 'y77_';  // 半角英数字またはアンダースコアのみ
 
  
 
<div id="WordPress_address_.28URL.29">
 
<div id="WordPress_address_.28URL.29">
 
=== WordPress アドレス (URL) ===
 
=== WordPress アドレス (URL) ===
 
</div>
 
</div>
'''WP_SITEURL''' は、「WordPress アドレス (URL)」を定義できるオプションであり、[[Version 2.2|バージョン 2.2]] で追加されました。ここで定義する値は、WordPress のコアファイルが存在する URL です。<code><nowiki>http://</nowiki></code> の部分は含め、末尾にスラッシュ "'''/'''" は入れないでください。<code>wp-config.php</code> でこの値を設定すると、[[データベース概要#Table:_wp_options|wp_options テーブル]]の <code>option_value</code> <code>'''siteurl'''</code> の値よりも優先され、[[管理パネル]] > [[管理パネル#Settings - Configuration Settings|設定]] > [[Settings General SubPanel|一般設定]]画面の「WordPress アドレス (URL)」欄は無効となります。
+
'''WP_SITEURL''' は、「WordPress アドレス (URL)」を定義できるオプションであり、[[Version 2.2|バージョン 2.2]] で追加されました。ここで定義する値は、WordPress のコアファイルが存在する URL です。<code><nowiki>http://</nowiki></code> の部分は記入し、末尾にスラッシュ "'''/'''" は入れないでください。<code>wp-config.php</code> でこの値を設定すると、[[データベース概要#Table:_wp_options|wp_options テーブル]]の <code>option_value</code> <code>'''siteurl'''</code> の値よりも優先され、[[管理パネル]] > [[管理パネル#Settings - Configuration Settings|設定]] > [[Settings General SubPanel|一般設定]]画面の「WordPress アドレス (URL)」欄は無効となります。
  
 
注: wp-config.php からこの行を削除すると、URL は元のデータベースの値に戻ります。データベースの値は変わりません。データベースの siteurl 値を書き換えるには [[Changing The Site URL#Relocate method|'''RELOCATE''' 定数を使います]]/[[:en:Changing The Site URL#Relocate method|en]]。
 
注: wp-config.php からこの行を削除すると、URL は元のデータベースの値に戻ります。データベースの値は変わりません。データベースの siteurl 値を書き換えるには [[Changing The Site URL#Relocate method|'''RELOCATE''' 定数を使います]]/[[:en:Changing The Site URL#Relocate method|en]]。
316行目: 339行目:
 
=== ブログアドレス (URL) ===
 
=== ブログアドレス (URL) ===
 
</div>
 
</div>
'''WP_HOME''' も [[Version 2.2|バージョン 2.2]] で追加された <code>wp-config.php</code> オプションです。WP_SITEURL と同じく、WP_HOME も [[データベース概要#Table:_wp_options|wp_options テーブル]] の ''home'' の値よりも優先されますが、恒久的に変更する訳ではなく、ここに定義している間だけ切り替えるものです。''home'' は、あなたの WordPress ブログに訪れる人がブラウザに入力するアドレス([[用語集#URI and URL|URL]])です。<code><nowiki>http://</nowiki></code> の部分は含め、末尾にスラッシュ "'''/'''" は入れないでください。
+
'''WP_HOME''' も [[Version 2.2|バージョン 2.2]] で追加された <code>wp-config.php</code> オプションです。WP_SITEURL と同じく、WP_HOME も [[データベース概要#Table:_wp_options|wp_options テーブル]] の ''home'' の値よりも優先されますが、恒久的に変更する訳ではなく、ここに定義している間だけ切り替えるものです。''home'' は、あなたの WordPress ブログに訪れる人がブラウザに入力するアドレス([[用語集#URI and URL|URL]])です。<code><nowiki>http://</nowiki></code> の部分は記入し、末尾にスラッシュ "'''/'''" を入れてはいけません。
  
 
  define('WP_HOME', 'http://www.example.com/wordpress');  
 
  define('WP_HOME', 'http://www.example.com/wordpress');  
469行目: 492行目:
 
  define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
 
  define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
 
  define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
 
  define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
 
<div id="Language_and_Language_Directory">
 
== 言語および言語ディレクトリ ==
 
</div>
 
'''WPLANG''' は、[[WordPress の翻訳|言語翻訳]]ファイル(<code>.mo</code>)の名前を定義します。プラグインやテーマの言語ファイル名の部分にも WPLANG の値が使われます。
 
'''LANGDIR''' は、WPLANG <code>.mo</code> ファイルが存在するディレクトリを定義するものです。LANGDIR が定義されていなければ、WordPress は <code>wp-content/languages</code>、<code>wp-includes/languages</code> の順に <code>.mo</code> ファイルを 探します。詳しくは [[Installing WordPress in Your Language|言語ファイルのインストール]]をご覧ください。
 
 
<pre>define('WPLANG', 'de_DE');</pre>
 
<pre>define('LANGDIR', 'mylanguagedirectory');</pre>
 
 
[[日本語で WordPress#WordPress 日本語版|WordPress 日本語版]]では、WPLANG の初期値は 'ja' です。
 
 
<pre>
 
/**
 
* ローカル言語 - このパッケージでは初期値として 'ja' (日本語 UTF-8) が設定されています。
 
*
 
* WordPress のローカル言語を設定します。設定した言語に対応する MO ファイルが
 
* wp-content/languages にインストールされている必要があります。例えば de.mo を
 
* wp-content/languages にインストールし WPLANG を 'de' に設定することでドイツ語がサポートされます。
 
*/
 
define ('WPLANG', 'ja');
 
</pre>
 
  
 
<div id="Save_queries_for_analysis">
 
<div id="Save_queries_for_analysis">
506行目: 507行目:
 
<pre>
 
<pre>
 
<?php
 
<?php
if (current_user_can('level_10')){
+
if (current_user_can('administrator')){
 
     global $wpdb;
 
     global $wpdb;
 
     echo "&lt;pre&gt;";
 
     echo "&lt;pre&gt;";
514行目: 515行目:
 
?>
 
?>
 
</pre>
 
</pre>
 
上記のコードでは level_10 権限を使っているため、このクエリの結果を見られるのは管理者のみです。
 
<!-- The code above uses the level_10 capability so only the administrator will see the query results. -->
 
  
 
<div id="Override_of_default_file_permissions">
 
<div id="Override_of_default_file_permissions">
541行目: 539行目:
  
 
pecl ssh2 拡張をインストールしたら、ライブラリが自動的に読み込まれるよう PHP の設定を修正する必要があります。
 
pecl ssh2 拡張をインストールしたら、ライブラリが自動的に読み込まれるよう PHP の設定を修正する必要があります。
 +
 +
pecl is provided by the pear package in most linux distributions.  To install pecl in Redhat/Fedora/CentOS:
 +
 +
<pre>
 +
yum -y install php-pear
 +
</pre>
 +
 +
To install pecl in Debian/Ubuntu:
 +
 +
<pre>
 +
apt-get install php-pear
 +
</pre>
  
 
<!--  
 
<!--  
558行目: 568行目:
 
*'''FTP_PASS''': '''FTP_USER''' で入力したユーザーのパスワード。SSH 公開鍵での認証を使っている場合は省略可能。
 
*'''FTP_PASS''': '''FTP_USER''' で入力したユーザーのパスワード。SSH 公開鍵での認証を使っている場合は省略可能。
 
*'''FTP_HOST''': SSH/FTP サーバーのホスト名:ポート番号の組み合わせ。FTP ポートは通常21で、SSH ポートは22。
 
*'''FTP_HOST''': SSH/FTP サーバーのホスト名:ポート番号の組み合わせ。FTP ポートは通常21で、SSH ポートは22。
 +
*'''FTP_SSL''' TRUE for SLL-connection.
  
 
<pre>
 
<pre>
569行目: 580行目:
 
define('FTP_PASS', 'password');
 
define('FTP_PASS', 'password');
 
define('FTP_HOST', 'ftp.example.org:21');
 
define('FTP_HOST', 'ftp.example.org:21');
 +
define('FTP_SSL', false);
 
</pre>
 
</pre>
  
615行目: 627行目:
 
  print_r(@get_defined_constants());
 
  print_r(@get_defined_constants());
  
<!-- <div id="Double_Check_Before_Saving">
+
=== <span id="Automatic_Database_Optimizing">Automatic Database Optimizing</span> ===
== 保存の前の再確認 == // 冒頭部と重なるので要らない?
+
Added with [[Version 2.9]], there is automatic database optimization support, which you can enable by adding the following define to your wp-config.php file '''only when the feature is required'''
</div>
+
'''''Be sure to check for leading and/or trailing spaces around any of the above values you entered, and DON'T delete the single quotes!'''''
+
  
Before you save the file, be sure to '''double-check''' that you have not accidentally deleted any of the single quotes around the parameter values. Be sure there is nothing after the closing PHP tag in the file. The last thing in the file should be '''?>''' and nothing else. No spaces.
+
  define('WP_ALLOW_REPAIR', true);
  
To save the file, choose '''File > Save As > wp-config.php''' and save the file in the root of your WordPress install. Upload the file to your web server and you're ready to install WordPress! -->
+
The script can be found at <tt>{$your_site}/wp-admin/maint/repair.php</tt>
 +
 
 +
'''Please Note:''' That this define '''enables''' the functionality, '''The user does not need to be logged in to access this functionality when this define is set.''' This is because its main intent is to repair a corrupted database, Users can often not login when the database is corrupt.
 +
 
 +
<!-- <div id="Double_Check_Before_Saving">
 +
== 保存の前の再確認 ==
 +
設定項目がかなり増えて、ファイルの作成と保存の説明が離れすぎたので、この節は冒頭にまとめました。 bono -->
  
 
<div id="See Also">
 
<div id="See Also">
630行目: 646行目:
 
*[[Installing Multiple Blogs|複数のブログ設置時の特別な wp-config.php]]/[[:en:Installing Multiple Blogs|en]]
 
*[[Installing Multiple Blogs|複数のブログ設置時の特別な wp-config.php]]/[[:en:Installing Multiple Blogs|en]]
 
*[[WordPress のアップグレード/詳細|インストール時のトラブルシューティング(問題解決)]]
 
*[[WordPress のアップグレード/詳細|インストール時のトラブルシューティング(問題解決)]]
*[[Administration Over SSL|SSL を使ってサイトの安全性を高める]]/[[:en:Administration Over SSL|en]]
+
*[[Administration Over SSL|SSL を使ってサイトの安全性を高める]]
 
+
 
== 変更履歴 ==
 
== 変更履歴 ==
  
* [[Version 2.9|2.9]] : [[#Empty_Trash|EMPTY_TRASH_DAYS]] が設定できるようになります。
+
* [[Version 2.9|2.9]] :
 +
** [[#Empty Trash|ゴミ箱を空にする設定]]ができるようになりました。
 +
** [[#Automatic Database Optimizing|Automatic Database Optimizing]] ができるようになりました。
 +
* [[Version 2.8|2.8]] : <code>wp-config-sample.php</code> ファイルの末尾から「'''<code>?></code>'''」を取り除きました。ファイル編集に伴なうトラブルを予防するものであって、機能に変更ありません。
 +
** 理由は [[jaforum:topic/2333#post-9456|日本語フォーラム » wp-config.php]] madhydeさんの説明を参照のこと。
 +
** [http://core.trac.wordpress.org/ticket/6791 チケット#6791 (Eliminate closing <nowiki>?></nowiki>'s from wp-config-sample.php)]
 
* [[Version 2.7.1|2.7.1]] : [[#Security Keys|セキュリティ・キー]]生成サイトの URL が変わりました。
 
* [[Version 2.7.1|2.7.1]] : [[#Security Keys|セキュリティ・キー]]生成サイトの URL が変わりました。
 
* [[Version 2.7|2.7]] :
 
* [[Version 2.7|2.7]] :
650行目: 670行目:
 
* [[Version 2.2|2.2]] : <code>DB_CHARSET</code>, <code>DB_COLLATE</code>, <code>WP_SITEURL</code>, <code>WP_HOME</code> が設定可能になりました。
 
* [[Version 2.2|2.2]] : <code>DB_CHARSET</code>, <code>DB_COLLATE</code>, <code>WP_SITEURL</code>, <code>WP_HOME</code> が設定可能になりました。
  
{{原文|Editing wp-config.php|80801}}<!-- 16:06, 8 December 2009 Bono 版 -->
+
{{原文|Editing wp-config.php|83340}}<!-- 02:32, 23 February 2010 Themedaily 版 -->
  
 
{{CheckTrans}}
 
{{CheckTrans}}
672行目: 692行目:
 
[[en:Editing wp-config.php]]
 
[[en:Editing wp-config.php]]
 
[[de:Wp-config.php]]
 
[[de:Wp-config.php]]
 +
[[ru:Редактирование wp-config.php]]
 +
[[zh-hans:编辑wp-config.php]]

2010年2月27日 (土) 16:58時点における版

このページ「wp-config.php の編集」は#Automatic Database Optimizing 節が未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

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 の形式
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

To install pecl in Debian/Ubuntu:

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 TRUE for SLL-connection.
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());

Automatic Database Optimizing

Added with Version 2.9, there is automatic database optimization support, which you can enable by adding the following define to your wp-config.php file only when the feature is required

 define('WP_ALLOW_REPAIR', true);

The script can be found at {$your_site}/wp-admin/maint/repair.php

Please Note: That this define enables the functionality, The user does not need to be logged in to access this functionality when this define is set. This is because its main intent is to repair a corrupted database, Users can often not login when the database is corrupt.


関連ページ

変更履歴

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

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

脚注

  1. 「Warning: Cannot modify header information - headers already sent by ~」というエラーが出ます。Windows のメモ帳も UTF-8 BOMありで保存されるため使えません。(参考