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);
この記事は役に立ちましたか?