如何使用php文件读取系统变量



我正在尝试获取通过Kubernetes yaml设置的系统变量,并且需要读取到我创建的php文件中。不知怎么的,我得到了空白值。

我已经在yaml文件上设置了MYSQL_USER和MYSQL_PASSWORD,该文件成功地反映在容器中。现在我需要用php文件读取这些变量。因此,我创建了一个env.php来确认如下,

<?php
$db_host = getenv('MYSQL_HOST', true) ?: getenv('MYSQL_HOST');
$db_name = getenv('MYSQL_DATABASE', true) ?: getenv('MYSQL_DATABASE');
$db_user = getenv('MYSQL_USER', true) ?: getenv('MYSQL_USER');
$db_pwd  = getenv('MYSQL_PASSWORD', true) ?: getenv('MYSQL_PASSWORD');
echo "db_host: {$db_host}<br>";
echo "db_name: {$db_name}<br>";
echo "db_user: {$db_user}<br>";
echo "db_pwd: {$db_pwd}<br>"; 
?>

在这种情况下,我得到的空白值如下

db_host:
db_name:
db_user:
db_pwd: 

有没有其他方法可以在PHP中获取这些变量的值?

没有什么比这更简单的了,Watson:

$ Zumba=King php -r 'print_r(getenv("Zumba") . PHP_EOL);'
King

第二个参数并不意味着你认为它能做什么,但你可以这样做:

$ php -r 'print_r((getenv("Zumba") ?: "Queen") . PHP_EOL);'
Queen

最新更新