PHP定数

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

WP_ENVIRONMENT_TYPE

弊社プラットフォームでは、各環境に対してWP_ENVIRONMENT_TYPE環境変数が自動的に設定されます。これにより、WordPress本体や、この環境変数を参照するプラグインやテーマは、現在の環境が本番環境、ステージング環境、または開発環境のいずれであるかを判別できます。

環境
本番production
ステージングstaging
開発development

PHPでは、WordPressのヘルパー関数を使用して値を取得できます。

php$environment = wp_get_environment_type();
// Returns 'production', 'staging', or 'development'

この値を利用すると、デバッグツールを条件付きで読み込んだり、特定のプラグインを無効化したり、環境ごとに動作を切り替えたりできます。こうした制御を、環境名をコードに直接書き込むことなく実装できます。

この記事は役に立ちましたか?

© 2013 - 2026 Kinsta Inc. All rights reserved.(全著作権所有)Kinsta®、MyKinsta®、DevKinsta®、Sevalla®は、Kinsta Inc.が所有する登録商標です。登録商標WordPress®はWordPress Foundationの知的財産であり、登録商標Woo®並びにWooCommerce®はWooCommerce, Inc.の知的財産です。WordPress®、Woo®、WooCommerce®の当ウェブサイトでの使用は識別のみを目的としておりWordPress FoundationまたはWooCommerce, Inc.による推奨や承認を意味するものではありません。KinstaはWordPress FoundationまたはWooCommerce, Inc.により認定、所有されておらず、関連会社でもありません。 法的事項はこちらをご覧ください。