gpt4 book ai didi

php - $_SERVER 未使用命令行 -r 选项设置?

转载 作者:行者123 更新时间:2023-12-02 04:29:35 27 4
gpt4 key购买 nike

当我尝试从命令行 php 打印 $_SERVER 变量时,它认为 $_SERVER 未设置。

$ php -r "print_r($_SERVER);"
Warning: print_r() expects at least 1 parameter, 0 given in Command line code on line 1

但是,当它在文件中时,从命令行运行它会设置它

$ cat test.php
<?
print_r($_SERVER);

$ php test.php
Array
(
[TERM] => xterm
[SHELL] => /bin/bash
[SSH_CLIENT] => 192.168.1.101 49319 22
[SSH_TTY] => /dev/pts/0
...

为什么?

最佳答案

您需要在命令行上转义 $ 字符。

php -r "print_r(\$_SERVER);"

否则 shell 会认为它是一个名为 _SERVER 的 shell 变量(您没有设置任何内容),因此实际运行的是 php -r "print_r();",其中这就是为什么您收到错误“print_r() 需要至少 1 个参数,给定 0 个”。

关于php - $_SERVER 未使用命令行 -r 选项设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553728/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com