PHP CLI:可以设置';什么是数组?

PHP CLI:可以设置';什么是数组?,php,bash,symfony,command-line-interface,magento2,Php,Bash,Symfony,Command Line Interface,Magento2,从bash中的命令行运行PHP时,是否可以设置一个$\u SERVER变量,使其本身成为一个数组 也就是说,如果我做这样的事情 $ export test=foo <?php #File: test.php var_dump($_SERVER['test']); 然后运行这样的程序 $ export test=foo <?php #File: test.php var_dump($_SERVER['test']); Bootstrap::create(BP,$params)识

bash
中的命令行运行PHP时,是否可以设置一个
$\u SERVER
变量,使其本身成为一个数组

也就是说,如果我做这样的事情

$ export test=foo
<?php
#File: test.php
var_dump($_SERVER['test']);
然后运行这样的程序

$ export test=foo
<?php
#File: test.php
var_dump($_SERVER['test']);
Bootstrap::create(BP,$params)
识别
$params
中的一些嵌套键——我试图找到一种在不修改CLI程序本身的情况下更改这些值的方法

不使用整个
$\u SERVER
数组,而只使用
$\u SERVER['argv']
数组的一部分,它基本上是作为标量的命令行参数

参数似乎是用then解析的,因此您应该能够传递一个php数组
a
,如下所示:

php yourscript.php a[]=1\&a[]=2\&a[b]=anything

根据shell的不同,您可能需要引用字符串或转义字符。

您可以通过.htaccess文件或apache.conf文件设置任何服务器变量,您可以使用

然后可以在php文件中访问该变量

echo $_SERVER["MY_EXAMPLE"]; //outputs myexample_data
或者在使用PHP CLI时 您可以使用以下方法设置$\u SERVER变量

putenv('MY_EXAMPLE=myexample_data');

您是否考虑过创建一个配置文件,例如可以在脚本中读取并根据需要进行编辑的JSON文件module@NiettheDarkAbsol感谢您的参与,但是根据问题,我不能在这里更改PHP代码。是的,通常我会使用一个基于PHP的配置,或从另一个值读取配置的PHP代码。@Xorifelse感谢您的参与,但是,根据问题,我从命令行运行PHP,不使用apache。虽然mod_env非常适合在web环境中运行东西,但它并没有解决我的问题。希望此帮助+1提供有用信息,并指出我的错误
mergeFromArgv
。仍然保持打开状态,看看是否有办法bash可以将数组发送到$\u服务器就是这样做的。它将解析的
$\u服务器['argv']
合并到
$\u服务器
。只需将您的
test=foo
作为命令行参数。有用的信息,但我希望能够在
MY_EXAMPLE
中设置一个值,即PHP数组本身。
.htaccess
http.conf
mod_env
是否支持此功能?@alanstrome
.htaccess
http.conf
mod env
均不适用于cli。cli或web脚本需要它吗?