我使用Putty。我想让$_ENV
打印到表格。 $_SERVER
显示似乎没问题,但我尝试使用$_ENV
的所有内容都不会显示。我的代码是:
<HTML><HEAD><TITLE>$_ENV</TITLE></HEAD>
<BODY>
<TABLE border="1">
<TR><TD><b>Keys</b><TD><b>Values</b>
<?php
while (list ($key, $value) = each($_ENV)) {
print ("<TR><TD>$key<TD>$value\n");
}
?>
</TABLE>
</BODY></HTML>
getenv("REMOTE_ADDR")
和print_r($_ENV)
只会给我远程地址。我想要所有的键和它们的变量。对于$_SERVER
,我的代码会从提交的表单中提供所有密钥。
<?php
//If form not submitted, display form.
if (isset($_POST['submit']))
{
$msg = $_POST["msg"];
$name = $_POST["name"];
$posts = file_get_contents("posts.txt");
$posts = "$msg - $name\n" . $posts;
file_put_contents("posts.txt", $posts);
echo $posts;
print"<table border=1>";
echo "<th>Keys</th> <th>My SERVER Info</th>";
foreach ($_SERVER as $key=>$val )
{
echo "<tr><td>".$key."</td><td>" .$val."</tr>";
}
print"</table>";
答案 0 :(得分:0)
这是因为您的$_ENV
为空,只需在getenv("REMOTE_ADDR");
之前添加while
,然后看到它神奇地工作。
我建议getenv("REMOTE_ADDR");
作为示例......
喜欢这个..
<HTML><HEAD><TITLE>$_ENV</TITLE></HEAD>
<BODY>
<TABLE border="1">
<TR><TD><b>Keys</b><TD><b>Values</b>
<?php
getenv("REMOTE_ADDR"); //<--- Add here
while (list ($key, $value) = each($_ENV)) {
print ("<TR><TD>$key<TD>$value\n");
}
?>
</TABLE>
</BODY></HTML>
答案 1 :(得分:0)
要使getenv()
正常工作,php配置参数variables_order
必须包含&#39; E&#39;。如果没有,则必须为您可能想要拥有的每个值调用getenv()。这样做也会将它添加到$ _ENV数组。
或者,您可以解析phpinfo()
个结果。要使其仅返回环境信息,您可以使用:
phpinfo(INFO_ENVIRONMENT);
//Or also, as INFO_ENVIRONMENT is just a constant with the value 16
phpinfo(16);
另外,我真的建议您使用foreach
而不是while-list-each。它非常快,更容易阅读并且不受光标的影响,因此您无需首先重置()就可以更加防错。
foreach($array as $key=>$value){
}