What are some best practices for securely storing sensitive information in PHP configuration files?

Storing sensitive information, such as database credentials or API keys, directly in PHP configuration files can pose a security risk if the files are accessible to unauthorized users. To securely store this information, it is recommended to use environment variables or a separate configuration file outside the web root.

// Example of securely storing sensitive information in a PHP configuration file

// Define sensitive information as constants
define('DB_HOST', getenv('DB_HOST'));
define('DB_USER', getenv('DB_USER'));
define('DB_PASS', getenv('DB_PASS'));
define('DB_NAME', getenv('DB_NAME'));

// Alternatively, you can store sensitive information in a separate configuration file
$config = include('/path/to/config.php');
define('DB_HOST', $config['DB_HOST']);
define('DB_USER', $config['DB_USER']);
define('DB_PASS', $config['DB_PASS']);
define('DB_NAME', $config['DB_NAME']);