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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(DB_HOST 値の候補: エックスサーバー inetd 追加)
(セキュリティ・キー: 生成サービス URL 変更 Advanced Options: WP_SITEURL・WP_HOME 動的指定、WP_PLUGIN_DIR 関係追記、改訂履歴版数、FTP・SSH定数追加)
226行目: 226行目:
 
</pre>
 
</pre>
  
このキーを覚える必要はないので、[http://api.wordpress.org/secret-key/1.1/ オンラインジェネレータ]を用いて、思い切り長くて複雑なものを作ってください。
+
このキーを覚える必要はないので、[https://api.wordpress.org/secret-key/1.1/ オンラインジェネレータ]を用いて、思い切り長くて複雑なものを作ってください。 You can change these at any point in time to invalidate all existing cookies this does mean that all users will have to login again. 
  
 
例:
 
例:
386行目: 386行目:
 
define('WP_SITEURL', 'http://www.example.com/wordpress');  
 
define('WP_SITEURL', 'http://www.example.com/wordpress');  
 
</pre>
 
</pre>
 +
 +
Dynamically set WP_SITEURL based on $_SERVER['HTTP_HOST']
 +
 +
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpressp');
  
 
<div id="Blog_address_.28URL.29">
 
<div id="Blog_address_.28URL.29">
400行目: 404行目:
 
define('WP_HOME', 'http://www.example.com');  
 
define('WP_HOME', 'http://www.example.com');  
 
</pre>
 
</pre>
 +
 +
Dynamically set WP_HOME based on $_SERVER['HTTP_HOST']
 +
 +
define('WP_HOME',    'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress');
  
 
<div id="Moving_wp-content">
 
<div id="Moving_wp-content">
422行目: 430行目:
  
 
<pre>define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');</pre>
 
<pre>define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');</pre>
 +
 +
''Optional''<br/>
 +
Set <var>WP_PLUGIN_DIR</var> to the full '''local path''' of this directory (no trailing slash), e.g.
 +
 +
define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );
 +
 +
Set <var>WP_PLUGIN_URL</var> to the full '''URI''' of this directory (no trailing slash), e.g.
 +
 +
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
 +
 +
If you have compability issues with plugins
 +
Set <var>PLUGINDIR</var> to the full '''local path''' of this directory (no trailing slash), e.g.
 +
 +
define( 'PLUGINDIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );
  
 
<div id="Modify_AutoSave_Interval">
 
<div id="Modify_AutoSave_Interval">
432行目: 454行目:
  
 
  define('AUTOSAVE_INTERVAL', 160 );  // seconds
 
  define('AUTOSAVE_INTERVAL', 160 );  // seconds
 +
 +
<div id="Post_Revisions">
 +
=== 投稿の改訂履歴 ===
 +
</div>
 +
WordPress の初期設定では、投稿や[[Pages|ページ]]の編集毎にコピーが保存され、その投稿・ページを旧バージョンの版に戻せるようになっています。この改訂履歴の保存機能は無効にしたり、保存する版数を指定したりできます。
  
 
<div id="Disable_Post_Revisions">
 
<div id="Disable_Post_Revisions">
=== 投稿の改訂履歴保存を無効にする===
+
==== 投稿の改訂履歴保存を無効にする ====
 
</div>
 
</div>
投稿の改訂履歴保存(変更前のコピーを保存し、簡単に編集を元に戻したり差分表示できる)機能を無効にできます。
+
<tt>WP_POST_REVISIONS</tt> に何もセットしなければ、デフォルトで ''true''(投稿の改訂履歴機能は有効)になっています。この機能を無効にするには、次のように設定します。
<!--
+
If you want to disable the awesome post-revisions feature of your blog that saves copies of changes made to posts for easy reverting, you can.
+
-->
+
  
 
  define('WP_POST_REVISIONS', false );
 
  define('WP_POST_REVISIONS', false );
 +
 +
<div id="Specify_the_Number_of_Post_Revisions">
 +
====Specify the Number of Post Revisions====
 +
</div>
 +
改訂の保存版数の最大値を指定したい場合、''false'' を整数(数字。例えば <tt>3</tt> や <tt>5</tt>)に変更します。
 +
 +
define('WP_POST_REVISIONS', 3);
  
 
<div id="Set_Cookie_Domain">
 
<div id="Set_Cookie_Domain">
546行目: 577行目:
 
値は '''0755''' のように八進数で記入し、シングルクォート(<code>'</code>)で囲んではいけません。[[ファイルパーミッションの変更]]を参照のこと。
 
値は '''0755''' のように八進数で記入し、シングルクォート(<code>'</code>)で囲んではいけません。[[ファイルパーミッションの変更]]を参照のこと。
  
<div id="FTP_Constants">
+
<div id="FTP/SSH_Constants">
=== FTP 定数 ===
+
=== FTP・SSH 定数 ===
 
</div>
 
</div>
WordPress コアおよびプラグインアップグレードの FTP メソッドは、PHP による結果から WordPress のパスを判断しますが、シンボリックリンクが「これを台無しにする」ことがあります。
+
To enable SSH2 as an upgrade option you will need to install the pecl SSH2 extension. To install this library you will need to issue a command similar to the following or talk to your web hosting provider to get this installed:
FTPユーザとしてサーバ上にある各フォルダへのパスが分かっていれば、wp-config.php ファイルに手動でそのパスを定義できます。<br />
+
(この情報は [http://wordpress.org/support/topic/217993 Otto によるフォーラムへの投稿]から拾ったものです)
+
<!--
+
The FTP method for the WordPress core and plugin upgrade tries to determine the WordPress path, as reported by PHP, but symlink trickery can sometimes 'muck this up'.
+
  
If you know the paths to the various folders on the server, as seen via your FTP user, you can manually define them in the wp-config.php file.  This information gleaned from [http://wordpress.org/support/topic/217993 Otto's forum post].
+
<pre>
 +
pecl install ssh2
 +
</pre>
 +
 
 +
After installing the pecl ssh2 extension you will need to modify your php configuration to automatically load this extension.
 +
 
 +
<!--
 +
These methods for the WordPress core, plugin, and theme upgrades try to determine the WordPress path, as reported by PHP, but symlink trickery can sometimes 'muck this up' so if you know the paths to the various folders on the server, as seen via your FTP user, you can manually define them in the wp-config.php file.   
 
-->
 
-->
 +
WordPress 本体・プラグイン・テーマをアップグレードするメソッドは、PHP による結果から WordPress のパスを判断しますが、シンボリックリンクが「これを台無しにする」ことがあります。FTPユーザとしてサーバ上にある各フォルダへのパスが分かっていれば、wp-config.php ファイルに手動でそのパスを定義できます。<!-- (この情報は [http://wordpress.org/support/topic/217993 Otto によるフォーラムへの投稿]から拾ったものです) -->
 +
 +
The following are valid constants for FTP/SSH updates:
  
 
*'''FTP_BASE''' is the full path to the "base" folder of the WordPress installation.
 
*'''FTP_BASE''' is the full path to the "base" folder of the WordPress installation.
 
*'''FTP_CONTENT_DIR''' is the full path to the wp-content folder of the WordPress installation.
 
*'''FTP_CONTENT_DIR''' is the full path to the wp-content folder of the WordPress installation.
 
*'''FTP_PLUGIN_DIR''' is the full path to the plugins folder of the WordPress installation.
 
*'''FTP_PLUGIN_DIR''' is the full path to the plugins folder of the WordPress installation.
 +
*'''FTP_PUBKEY''' is the full path to your SSH public key.
 +
*'''FTP_PRIVKEY''' is the full path to your SSH private key.
 +
*'''FTP_USER''' is either user FTP or SSH username.  Most likely these are the same, but use the appropriate one for the type of update you wish to do.
 +
*'''FTP_PASS''' is the password for the username entered for '''FTP_USER'''.  If you are using SSH public key authentication this can be omitted.
 +
*'''FTP_HOST''' is the hostname:port combination for your SSH/FTP server.  The standard FTP port is 21 and the standard SSH port is 22.
 +
 
<pre>
 
<pre>
 
define('FTP_BASE', '/path/to/wordpress/');
 
define('FTP_BASE', '/path/to/wordpress/');
 
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
 
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
 
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
 
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
 +
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
 +
define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa');
 +
define('FTP_USER', 'username');
 +
define('FTP_PASS', 'password');
 +
define('FTP_HOST', 'ftp.example.org:21');
 
</pre>
 
</pre>
 +
 +
It is recommended to use a private key that is not pass phrase protected.  There have been numerous reports that pass phrase protected private keys do not work properly.  If you decide to try a pass phrase protected private key you will need to enter the pass phrase for the private key as FTP_PASS.
  
 
<div id="Additional_Defined_Constants">
 
<div id="Additional_Defined_Constants">
593行目: 643行目:
 
*[[Installing Multiple Blogs|Installing Multiple Blogs requires special wp-config.php]]/[[:en:Installing Multiple Blogs|en]]
 
*[[Installing Multiple Blogs|Installing Multiple Blogs requires special wp-config.php]]/[[:en:Installing Multiple Blogs|en]]
 
*[[WordPress のアップグレード/詳細|インストール時のトラブルシューティング(問題解決)]]
 
*[[WordPress のアップグレード/詳細|インストール時のトラブルシューティング(問題解決)]]
 +
*[[Administration Over SSL|Securing your Installation]]
  
 
== 変更履歴 ==
 
== 変更履歴 ==
  
 +
* [[Version 2.7.1|2.7.1]] : [[#Security Keys|セキュリティ・キー]]生成サイトの URL が変わりました。
 
* [[Version 2.7|2.7]] :
 
* [[Version 2.7|2.7]] :
 
** [[#Security Keys|セキュリティ・キー]]に <code>NONCE_KEY</code> が加わりました。
 
** [[#Security Keys|セキュリティ・キー]]に <code>NONCE_KEY</code> が加わりました。
610行目: 662行目:
 
* [[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|66439}}<!-- 21:11, January 22, 2009 MichaelH 版 -->
+
{{原文|Editing wp-config.php|72998}}<!-- 14:53, May 29, 2009 Bono 版 -->
  
 
{{CheckTrans}}
 
{{CheckTrans}}
622行目: 674行目:
 
[[Category:アップグレード]]
 
[[Category:アップグレード]]
 
[[Category:UI Link]]
 
[[Category:UI Link]]
 +
<!-- [[Category:Error handling]] -->
 
[[Category:wp2.2]]
 
[[Category:wp2.2]]
 
[[Category:wp2.3]]
 
[[Category:wp2.3]]

2009年6月6日 (土) 15:55時点における版

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

WordPress のインストールの一環として、MySQL データベースへのアクセスに必要な WordPress 環境設定を定義する wp-config.php ファイルの編集が必要です。
アップグレード時の注意
最新版にアップグレードする場合、このファイルを作り直す必要はありません。
ただし、セキュリティ向上のため 4つのセキュリティ・キーだけは追加してください。
wp-includes/wp-db.php に「SET NAMES 'utf8'」を挿入して運用していた場合、2.2 以降では修正不要です。DB_CHARSET をお使いください。

用意するもの

  • テキストエディタ
    重要: 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 ファイルを探します。
  2. wp-config-sample.php ファイルを同じディレクトリ内に複製して、ファイル名を wp-config.php に変更します。
  3. 作成した wp-config.phpテキストエディタで開き、あなたの環境に合わせて各項目の設定値を書き換えます(後述)。
  4. 書き換え終わったら、もう一度見直しましょう!
    • 入力した値の前後に余計な空白が入っていないか?
    • 値を囲むシングルクオート(')をうっかり消してしまっていないか?
    • ファイルの先頭は <?php、末尾は ?> で終わり、その後ろに何もあってはいけません。空白もだめです。
  5. ファイルを保存します。
    (注) UTF-8 BOMありで保存してはいけません[1]
  6. インストールの次の手順(ファイルアップロード)に進みましょう。

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

データベース設定

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

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'putyourdbnamehere');

/** MySQL database username */
define('DB_USER', 'usernamehere');

/** MySQL database password */
define('DB_PASSWORD', 'yourpasswordhere');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

データベース名の設定

define('DB_NAME', 'putyourdbnamehere');

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

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

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

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

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

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

(編集前)

define('DB_USER', 'usernamehere');

(編集後)

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

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

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

(編集前)

define('DB_PASSWORD', 'yourpasswordhere');

(編集後)

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

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

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

define('DB_HOST', 'localhost');

ここは、ホスティング側から指示がない限り、99% 変更しなくて済むでしょう。分からなければ、初期値 'localhost' のままインストールしてみてください。インストールに失敗したら、ホスティングプロバイダ(レンタルサーバ)に問い合わせてください。

DB_HOST 値の候補

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

ホスティングサービス DB_HOST 値
XREA (無料サーバ) localhost
さくら mysqlnn.db.sakura.ne.jpnn は数字)
チカッパ! (例)mysql00.chicappa.jp (コントロールパネルの DB の「サーバー」)
エックスサーバー mysqlnn.xserver.jpnn は数字)
inetd dbn.inetd.co.jpn は数字)
1and1 db12345678 の形式
AN Hosting localhost
BlueHost localhost
DreamHost mysql.example.com の形式
GoDaddy h41mysql52.secureserver.net の形式
HostGator localhost
HostICan localhost
ICDSoft localhost:/tmp/mysql5.sock の形式
LaughingSquid localhost
MediaTemple GridServer internal-db.s44441.gridserver.com の形式
one.com localhost
pair Networks dbnnnx.pair.com の形式
Yahoo mysql
Hosts with cPanel localhost
Hosts with Plesk localhost
Hosts with DirectAdmin localhost

MySQL 代替ポート

If your host uses an alternate port number for your database you'll need to change the DB_HOST value in the wp-config.php file to reflect the alternate port provided by your host.

For localhost

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

Other

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 collation

define('DB_COLLATE', 'utf8_general_ci');

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

define('DB_COLLATE', 'utf8_turkish_ci');

セキュリティ・キー

Version 2.6 から、ユーザの Cookie に格納される情報をより強固な暗号化によって守るため、3つのセキュリティ・キー AUTH_KEYSECURE_AUTH_KEYLOGGED_IN_KEY が追加されました。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');

このキーを覚える必要はないので、オンラインジェネレータを用いて、思い切り長くて複雑なものを作ってください。 You can change these at any point in time to invalidate all existing cookies this does mean that all users will have to login again.

例:

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');

セキュリティ・キー とは、パスワードに無作為(ランダム)な要素を加えることによって、あなたのサイトへの不正アクセスや侵入・改竄を難しくする hashing 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' です。

上級オプション

以下のセクションには上級/非サポートオプションが含まれている可能性があります。いつものバックアップを確実に実行し、設定を試す前にリストア方法を確認しておいてください。

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

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

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

$table_prefix  = 'wp_';


自分の WordPress ブログのセキュリティを高めるために、新規インストール前にこの値を変更するのはよい考えです。悪意あるクラッカーによるセキュリティ上の弱点を突く攻撃は、しばしば接頭辞に wp_ が使われていることを前提として行なわれるので、この値の変更により攻撃が軽減されます。

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix  = 'r235_';   // Only numbers, letters, and underscores please!

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

$table_prefix  = 'y77_';   // Only numbers, letters, and underscores please!


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 は元のデータベースの値に戻ります。データベースの値は変わりません。

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

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

Dynamically set WP_SITEURL based on $_SERVER['HTTP_HOST']

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/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'); 

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

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

Dynamically set WP_HOME based on $_SERVER['HTTP_HOST']

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');

Optional
Set WP_PLUGIN_DIR to the full local path of this directory (no trailing slash), e.g.

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

Set WP_PLUGIN_URL to the full URI of this directory (no trailing slash), e.g.

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

If you have compability issues with plugins Set PLUGINDIR to the full local path of this directory (no trailing slash), e.g.

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 );

Specify the Number of Post Revisions

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

define('WP_POST_REVISIONS', 3);

The domain set in the cookies for WordPress can be specified for those with unusual domain setups. One reason is if subdomains are used to serve static content. To prevent WordPress cookies from being sent with each request to static content on your subdomain you can set the cookie domain to your non-static domain only.

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

デバッグ

The WP_DEBUG option, added in WordPress Version 2.3.1/en, controls the display of some errors and warnings. If this setting is absent from wp-config.php, then the value is assumed to be false.

注: The true and false values in the example are not set in apostrophes (') because they are boolean values.

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


In Wordpress versions since 2.3.2, database errors are printed only if WP_DEBUG is set to true. In earlier versions, database errors were always printed. (Database errors are handled by the wpdb class and are not affected by PHP's error settings.)

In WordPress version 2.5, setting WP_DEBUG to true also raises the error reporting level to E_ALL and activates warnings when deprecated functions or files are used; otherwise, WordPress sets the error reporting level to E_ALL ^ E_NOTICE ^ E_USER_NOTICE.

エラーログの設定

Because wp-config.php is loaded for every page view not loaded from a cache file, it is an excellent location to set php ini settings that control your php installation. This is useful if you don't have access to a php.ini file, or if you just want to change some settings on the fly.

Here is an example that turns php error_logging on and logs them to a specific file. If WP_DEBUG is defined to true, the errors will also be saved to this file. Just place this above any require_once or include commands.

@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/home/example.com/logs/php_error.log');
/* That's all, stop editing! Happy blogging. */


PHP への割り当てメモリを増やす

Also released with Version 2.5, the WP_MEMORY_LIMIT option allows you to specify the maximum amount of memory that can be consumed by PHP. This setting may be necessary in the event you receive a message such as "Allowed memory size of xxxxxx bytes exhausted".

This setting increases PHP Memory only for WordPress, not other applications. By default, WordPress will attempt to increase memory allocated to PHP to 32MB (code is at beginning of wp-settings.php), so the setting in wp-config.php should reflect something higher than 32MB.

Please note, this setting may not work if your host does not allow for increasing the PHP memory limit--in that event, contact your host to increase the PHP memory limit. Also, note that many hosts set the PHP limit at 8MB.

Increase PHP Memory to 64MB

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

Increase PHP Memory to 96MB

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 and CUSTOM_USER_META_TABLE are used to designated that the user and usermeta tables normally utilized by WordPress are not used, instead these values/tables are used to store your user information.

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

解析用にクエリを保存

The SAVEQUERIES definition saves the database queries to a array and that array can be displayed to help analyze those queries. The information saves each query, what function called it, and how long that query took to execute.

First, put this in wp-config.php:

define('SAVEQUERIES', true);

Then in the footer of your theme put this:

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

The code above uses the switch_themes capability so only visitors with that capability will see the query results.

デフォルトのファイルパーミッションをオーバーライド

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

define('FS_CHMOD_FILE', 0755);
define('FS_CHMOD_DIR', 0755);

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

FTP・SSH 定数

To enable SSH2 as an upgrade option you will need to install the pecl SSH2 extension. To install this library you will need to issue a command similar to the following or talk to your web hosting provider to get this installed:

pecl install ssh2

After installing the pecl ssh2 extension you will need to modify your php configuration to automatically load this extension.

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

The following are valid constants for FTP/SSH updates:

  • FTP_BASE is the full path to the "base" folder of the WordPress installation.
  • FTP_CONTENT_DIR is the full path to the wp-content folder of the WordPress installation.
  • FTP_PLUGIN_DIR is the full path to the plugins folder of the WordPress installation.
  • FTP_PUBKEY is the full path to your SSH public key.
  • FTP_PRIVKEY is the full path to your SSH private key.
  • FTP_USER is either user FTP or SSH username. Most likely these are the same, but use the appropriate one for the type of update you wish to do.
  • FTP_PASS is the password for the username entered for FTP_USER. If you are using SSH public key authentication this can be omitted.
  • FTP_HOST is the hostname:port combination for your SSH/FTP server. The standard FTP port is 21 and the standard SSH port is 22.
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_PRIVKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.org:21');

It is recommended to use a private key that is not pass phrase protected. There have been numerous reports that pass phrase protected private keys do not work properly. If you decide to try a pass phrase protected private key you will need to enter the pass phrase for the private key as FTP_PASS.

定数の追加定義

Here are additional constants that can be defined, but probably shouldn't be. The Cookie definitions are particularly useful if you have an unusual domain setup.

  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());

全ての定義済み定数を表示

Php has a function that returns an array of all the currently defined constants with their values.

 print_r(@get_defined_constants());

関連ページ

変更履歴

  • 2.7.1 : セキュリティ・キー生成サイトの URL が変わりました。
  • 2.7 :
  • 2.6 :
    • SECRET_KEY に替わり、AUTH_KEY および SECURE_AUTH_KEYLOGGED_IN_KEY という 3つのセキュリティ・キーを設定することになりました。
    • セキュリティ・キー生成サイトの URL が変わりました。
    • wp-content ディレクトリの場所を変更できるようになりました。
    • wp-config.php ファイルの設置場所を変更できるようになりました。
  • 2.5.1 : SECRET KEY 生成サイトの URL が変わりました。
  • 2.5 : SECRET_KEY, WP_MEMORY_LIMIT が設定可能になりました。
  • 2.3.1 : WP_DEBUG が設定可能になりました。
  • 2.2 : DB_CHARSET, DB_COLLATE, WP_SITEURL, WP_HOME が設定可能になりました。

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

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

脚注

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