我正在尝试获取通过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