PHP定数
PHP定数は、プログラム全体で変更できない固定値です。複数の場所からアクセスできるため、異なるファイルや関数の中で同じ定数を使用することができます。
BedrockやTrellisのような非標準的なWordPressのセットアップを使用している場合、DB_PASSWORD
変数を検出することができないため、以下の状況でデータベースのパスワードを更新することができません。
- 既存環境の複製によるサイトの追加
- 既存環境の複製によるステージング環境の追加
- 本番環境へのステージング環境の反映
- バックアップの復元
- MyKinstaのデータベースパスワードの変更
これを解決するには、データベースパスワードを保存するためにPHP定数SERVER_SECRET_DB_PASSWORD
を使用することができます。config.php
ファイル内でこの定数を定義すると、サイトのデータベースパスワードを識別するためにこの定数が使用されます。
define('DB_PASSWORD', defined('SERVER_SECRET_DB_PASSWORD') ? SERVER_SECRET_DB : 'asdijfhkjasdbfkjhbajiksd' );
弊社サーバーで使用する以下のPHP定数を定義することができます。
SERVER_SECRET_DB_USER
SERVER_SECRET_DB_PASSWORD
SERVER_SECRET_DB_HOST
SERVER_SECRET_DB_NAME
例えば、config.php
ファイルで以下のように定数を定義することができます。
define('DB_NAME', defined('SERVER_SECRET_DB_NAME') ? SERVER_SECRET_DB_NAME : 'newsitetest');
define('DB_USER', defined('SERVER_SECRET_DB_USER') ? SERVER_SECRET_DB_USER : 'newsitetest');
define('DB_PASSWORD', defined('SERVER_SECRET_DB_PASSWORD') ? SERVER_SECRET_DB : 'asdijfhkjasdbfkjhbajiksd' );
define('DB_HOST', defined('SERVER_SECRET_DB_HOST') ? SERVER_SECRET_DB_HOST : 'localhost');
あるいは、以下のように定義することも可能です。
define('DB_NAME',SERVER_SECRET_DB_NAME);
define('DB_USER',SERVER_SECRET_DB_USER);
define('DB_PASSWORD',SERVER_SECRET_DB_PASSWORD);
define('DB_HOST',SERVER_SECRET_DB_HOST);